全部加入多列到另一个表的同一列
问题描述:
比方说,我有两个表:全部加入多列到另一个表的同一列
表“组合”
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
答
的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
尝试此:SELECT(选择名称WHERE ID =第一)AS与firstItem,(SELECT姓名WHERE ID =第二)AS secondItem,(SELECT姓名WHERE ID =结果)作为结果物品组合 – live2