SQL中两个连接之间的条件

时间:2014-06-17 21:51:22

标签: sql postgresql join conditional-statements

我有3张桌子,我希望加入其中两张有条件。

例如,如果我有表A,表B和表C,我希望有JOIN AB或JOIN BC。

这样的事情是否存在?

SELECT * 
FROM B
(JOIN A
ON (B.b=A.id_a) 
OR (B.b=A.id_b))
OR
(JOIN C
ON (B.b=C.id_a)
OR (B.b=C.id_b))
WHERE B.a=1001485422 

1 个答案:

答案 0 :(得分:0)

您可以同时进行两次加入

select *
from
    b
    left join
    a on b.b in (a.id_a, a.id_b)
    left join
    c on b.b in (c.id_a, c.id_b)
where b.a = 1001485422