2017-10-21 56 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

相关问题