假设我有两张桌子:
表“组合”
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 :(得分:1)
"组合"中的trhee列table保存" Names"的ID值表,所以基本上你有三个外键给同一个表的同一个字段。
为了也列出没有结果的组合,我们需要使用左连接或右连接,以便保留不与结果列匹配的组合记录。在下面的查询的情况下,我使用左连接,因为组合表位于条件的左侧。
这可以这样完成:
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;