2017-10-21 94 views
0

比方說,我有兩個表:全部加入多列到另一個表的同一列

表「組合」

first second result 
1  1  0 
1  2  1 
1  3  0 
2  3  2 

表「名稱」

ID Name 
1 Item1 
2 Item2 
3 Item3 

我如何將這些一起加入到這樣的輸出中?基本上只是爲了「查找」ID?在「組合」表

firstItem secondItem resultingItem 
Item1  Item1  - 
Item1  Item2  Item1 
Item1  Item3  - 
Item2  Item3  Item2 
+0

嘗試此:SELECT(選擇名稱WHERE ID =第一)AS與firstItem,(SELECT姓名WHERE ID =第二)AS secondItem,(SELECT姓名WHERE ID =結果)作爲結果物品組合 – live2

回答

1

的trhee欄目舉辦「名稱」表中的ID值,所以基本上你有三個foreing鍵提交THA同桌的相同。

爲了列出沒有結果的組合,我們需要使用左連接或右連接,以便保留與結果列不匹配的組合記錄。在下面的查詢中,我使用左連接,因爲組合表在條件的左側。

這是可以實現這樣的:

select n1.Name, n2.Name, nr.Name 
from 
Combinations c left join Names n1 on c.first = n1.ID 
left join Names n2 on c.second = n2.ID 
left join Names nr on c.result = nr.ID; 
+0

真棒,感謝您的快速回應:) – nCoder

相關問題