将2个SQL SELECT结果集合并为一个

时间:2010-02-23 11:31:17

标签: sql join select

我有2个select语句,返回这样的数据:

Select 1
col_a   col_b

Select 2
col_a   col_c

如果我结合了,我会得到像

这样的东西
col_a col_b

行加入了。我需要的是这样:

col_a  col_b  col_c

加入col_a

中的数据

3 个答案:

答案 0 :(得分:43)

使用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

如果col_a的某些值在T1中而不在T2中,则可以使用LEFT OUTER JOIN代替。

答案 1 :(得分:4)

使用FULL 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

答案 2 :(得分:2)

SELECT table1.col_a, table1.col_b, table2.col_c 
  FROM table1 
  INNER JOIN table2 ON table1.col_a = table2.col_a