admin

加入三张表

sql

我正在尝试检索两组信息(一个查询中该图的红色和蓝色部分)。

我以为我可以使用下面所述的sql来做到这一点,但是当TableC没有记录时,它什么也不会返回。如果TableC没有记录,我仍然希望该查询向我返回BLUE区域指示的结果。

从表A中选择A. *

加入TableB B ON(A.id = B.a_id)

联接表C C ON(A.id = C.a_id)

感谢任何指针,以向我返回红色和/或蓝色部分。在此先感谢=]


阅读 126

收藏
2021-05-10

共1个答案

admin

尝试这样的事情

SELECT A.* FROM TableA A
LEFT OUTER JOIN TableB B ON (A.id = B.a_id)
LEFT OUTER JOIN TableC C ON (A.id = C.a_id)
WHERE B.a_id IS NOT NULL 
  OR c.a_id IS NOT NULL
2021-05-10