我從網站上搜集了大量的數據,並製作了對我來說合理的表格結構。我想在MySQL中做的事情
現在,我試圖根據關係拉取數據集。 所以我有一張桌子滿了coin_a coin_b交易。
OPEN_TRADES: coin_id_a coin_id_b exchange_id action_type price amount time
我想要做的是從ID_A和ID_b的硬幣表中加入數據。
COINS: id name short_name
我開始了與此:
SELECT `op`.`coin_id_a`, `op`.`coin_id_b`, `op`.`exchange_id`,
`op`.`action_type`, `op`.`price`, `op`.`amount`, `op`.`time`,
`c`.`name` , `c`.`short_name`
FROM `open_trades` as `op`
LEFT JOIN `coins` as `c`
ON `op`.`coin_id_a`=`c`.`id`
這個工程完全按照我預期。但它只能解決我想要的一半數據。 我想再次爲coin_id_b執行此連接。
我只是沒有正確的工具在我的腰帶下執行此操作。坦率地說,錯誤我:D
我知道我可以在PHP中做到這一點,事實上我正是這樣做。問題是它在php中效率不高。 我知道我的數據庫會更快地做到這一點。特別是因爲我的交易表在內存中運行。
結果的模式,我希望創建看起來像這樣:
coin_id_a coin_id_b exchange_id action_type price amount time id_a name_a
short_name_a id_b name_b short_name_b
什麼是加入從同一個表2分分別排在兩個不同領域的另一個表在MySQL的正確方法?
你的意思是像'LEFT JOIN硬幣一樣c ON op.coin_id_a = c.id或op.coin_id_b = c.id'? – maja
不,因爲我需要**硬幣數據** ** coin_id_a和coin_id_b。 – Nocare
你的意思是[交叉連接](https://en.wikipedia.org/wiki/Join_(SQL)#Cross_join)? –