我正在加入表格,其中有两个单独的关系方案如下:
TableA1 -> TableA2 -> TableB -> TableC : <<< RELATIONSHIP A
enter code here
输出需要如此:
A1columnId A2columnId BcolumnId CcolumnId
1 1 1 1
2 null 2 2
3 null 3 3
4 2 4 4
5 null 5 5
如果存在这两种关系A&amp; B,我需要看到A2colId为以下关系为null:
第二个关系计划如下: 表A1->表B-TableC&lt;&lt;&lt;&lt;关系B(该方案对TableA2没有任何线索)
如上所述,如何在A2ColumnId中使用null来获取结果集?
答案 0 :(得分:1)
LEFT JOIN
代替常规联接也会强制表加入,在其位置填入null
。所以当你加入A1和A2时你会这样做:
SELECT *
FROM A1
LEFT JOIN A2
ON A1.idlink = A2.idlink
JOIN B
ON A1.id = B.id
JOIN C
ON A1.id = C.id;
答案 1 :(得分:0)
SELECT *
FROM TableA A1
LEFT JOIN TableA A2 ON A1.ColumnId1 = A2.ColumnId2
INNER JOIN TableB B ON B.ColumnId IN (A1.ColumnId1, A2.ColumnId2)
INNER JOIN TableC C ON B.ColumnId = C.ColumnId
如果我找对你。