如何在 JOIN 子句中使用多个 table 的 UNION
How to use UNION of more than one table in JOIN clause
我需要在 select 的连接子句中加入多个 table,下面给出了一个示例
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*/
这怎么可能?
JOIN 是一个二元运算符,因此您可以同时连接两个表或视图。为了连接三个表,您可以连接其中两个,然后将结果与第三个连接。
这就像加法:要对三个数字求和,先将第二个加到第一个上,然后将第三个加到结果上。
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*/;
你是说你想这样做吗?
select ...
from table_a join
(select ... from table_b
union
select ... from table_c) t on table_a.col = t.col
那种事?
我需要在 select 的连接子句中加入多个 table,下面给出了一个示例
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*/
这怎么可能?
JOIN 是一个二元运算符,因此您可以同时连接两个表或视图。为了连接三个表,您可以连接其中两个,然后将结果与第三个连接。
这就像加法:要对三个数字求和,先将第二个加到第一个上,然后将第三个加到结果上。
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*/;
你是说你想这样做吗?
select ...
from table_a join
(select ... from table_b
union
select ... from table_c) t on table_a.col = t.col
那种事?