如何在JOIN子句中使用多个表的UNION

时间:2015-04-11 07:26:59

标签: sql postgresql postgresql-9.2

我需要在select的join子句中联合多个表,下面给出的是一个示例

select .. ... 
from table_a inner join (/*here i want to join two tables(ex. table_c and table_b)*/ )  -- not i am using left join also which is in another condition
where /*some condtitions*/

这怎么可能?

3 个答案:

答案 0 :(得分:1)

你的意思是你想要这样做吗?

select ...
from   table_a join
       (select ... from table_b
        union
        select ... from table_c) t on table_a.col = t.col

那种事情?

答案 1 :(得分:0)

JOIN是一个二元运算符,因此您可以一次连接两个表或视图。要连接三个表,您可以连接其中两个表,然后将结果与第三个表连接起来。

这就像加法:总结三个数字,你将第二个加到第一个,然后将第三个加到结果中。

答案 2 :(得分:0)

select * from
    table_a a
     inner join
    table_b b on a.id= b.id
     inner join 
    table_c c on b.id= c.id
 where /*some conditions*/;