我目前有3张桌子:
A& A之间有联系。 B和B& B之间的联系C(A-B-C)。 问题是:
最后我希望有一个查询可以给我以下行(其中X表示相应表的ID):
TableA|TableB|TableC
X | X | X
X | null | null
null | X | X
X | X | null
我设法让TableA& TableB带有以下查询:
SELECT A.ID, B.ID
FROM TABLEA A
LEFT JOIN TABLEB B on (join condition)
UNION
SELECT A.ID,B.ID
FROM TABLE B
LEFT JOIN TABLEA A on (join condition)
感谢您提供的任何帮助
答案 0 :(得分:1)
您需要的是FULL OUTER JOIN
,但是,您已使用sybase标记了您的帖子 - 这取决于您的意思。 Sybase ASE不支持FULL OUTER JOIN
语法,但SQL Anywhere可以。
答案 1 :(得分:0)
如果我理解正确,那么FULL OUTER JOIN
应该做你的工作:
SELECT a.id,b.id,c.id
FROM TableA a
FULL OUTER JOIN TableB b on a.id = b.id
FULL OUTER JOIN TableC c on COALESCE(a.id,b.id) = c.id