[英]Is there a way to JOIN a table consisting of two tables UNIONed together?
SELECT
a.First_Name
,b.Last_Name
FROM table a
JOIN table b
UNION table c
ON a.ID=b.ID
我什至不知道语法将如何。 基本上我想要的是UNION表b和c,然后将新表加入表a。
您可以加入子查询:
SELECT
a.First_Name,
bc.Last_Name
FROM a
JOIN
(
SELECT ID, Last_Name FROM b
UNION
SELECT ID, Last_Name FROM c
) bc ON bc.ID = a.ID;
将联合作为子查询 :
SELECT
a.First_Name
,bc.Last_Name
FROM table a
JOIN (
SELECT * FROM table b
UNION
SELECT * FROM table c
) AS bc
ON a.ID=bc.ID
请注意,子查询必须具有自己的别名(在这种情况下为bc
),应在join子句和select中引用该别名(这意味着您不能直接在子查询外部引用表b
或c
)。
如果您使用适当的join子句,则可以将联合的结果联接到others表
你可以用这个sintax
select a.col1, t.name
from table3 c
inner join (
select id, name1 as name
from table1 a
union id, name2
from table2 b
) t on. t.id = a.id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.