我有2个select语句,返回这样的数据:
选择1 col_a col_b
选择2 col_a col_c
如果我做联盟,我会得到类似col_a col_b的东西
行加入了.我需要的是这样:col_a col_b col_c
加入了col_a中的数据.
Mar*_*ers 48
使用JOIN加入子查询并使用ON来说明每个子查询中的行必须匹配的位置:
SELECT T1.col_a, T1.col_b, T2.col_c
FROM (SELECT col_a, col_b, ...etc...) AS T1
JOIN (SELECT col_a, col_c, ...etc...) AS T2
ON T1.col_a = T2.col_a
Run Code Online (Sandbox Code Playgroud)
如果col_a的某些值在T1中但不在T2中,则可以使用LEFT OUTER JOIN.
使用完整外部连接:
select
a.col_a,
a.col_b,
b.col_c
from
(select col_a,col_bfrom tab1) a
join
(select col_a,col_cfrom tab2) b
on a.col_a= b.col_a
Run Code Online (Sandbox Code Playgroud)