我在两个表之间有一个联合操作
SELECT ID_1,
name_1,
surname_1,
FROM T_ONE
UNION
SELECT ID_2,
name_2,
surname_2
FROM TABLE_2
Run Code Online (Sandbox Code Playgroud)
我想将此UNION操作的结果与另一个表或甚至所有表连接起来TABLE_1.
我该如何处理这个新表的结果UNION.
例如在上一个之后UNION:
RIGHT JOIN TABLE_3
ON TABLE_3.ID_3 = XXXXXXXXXXXXXXXXXXXX.ID_2
Run Code Online (Sandbox Code Playgroud)
我真的不知道我需要放什么代替XXXXXXXXXXXXXXXX来安装由...生成的新表UNION.
gbn*_*gbn 14
在这里使用像"foo"这样的派生表,然后再次加入,但是你想要:
SELECT
*
FROM
TABLE_3
LEFT JOIN
(
SELECT ID_1, name_1, surname_1, FROM T_ONE
UNION --ALL would be more efficient if results do not overlap, as van's comment said
SELECT ID_2, name_2, surname_2 FROM TABLE_2
) foo ON TABLE_3.ID_3 = foo.ID_1
Run Code Online (Sandbox Code Playgroud)
PS.使用LEFT连接:减少混乱然后RIGHT连接.