【发布时间】:2017-01-25 14:16:57
【问题描述】:
假设我有 2 张桌子:
FRUITS RECIPE
----------- -----------------
id name ver id1 id2
----------- -----------------
1 apple 1 1 1
2 banana 2 null 3
3 orange 3 3 3
4 peach 4 4 2
5 1 null
6 null null
为了返回 id1 和 id2 值的名称,我尝试过:
SELECT ver, id1, F1.name, id2, F2.name
FROM RECIPE INNER JOIN FRUITS AS F1 ON id1 = F1.name
INNER JOIN FRUITS AS F2 ON id2 = F2.name
返回:
------------------------------------
ver id1 name id2 name
------------------------------------
1 1 apple 1 apple
3 3 orange 3 orange
4 4 peach 2 banana
我希望结果集包括所有 RECIPE 行,包括空值,如下所示:
------------------------------------
ver id1 name id2 name
------------------------------------
1 1 apple 1 apple
2 null null 3 orange
3 3 orange 3 orange
4 4 peach 2 banana
5 1 apple null null
6 null null null null
感谢您的帮助...
【问题讨论】:
-
使用 LEFT JOIN 而不是 INNER JOIN。
-
@KamilG。哇!好人……我错过了。非常感谢。谢谢。
标签: sql sql-server-2008 join null