web-dev-qa-db-ja.com

2つのSQL SELECT結果セットを1つに結合する

次のようなデータを返すselectステートメントが2つあります。

Select 1
col_a   col_b

Select 2
col_a   col_c

結合すると、次のようになります

col_a col_b

そして、行が結合されました。私が必要なのは次のようにすることです:

col_a  col_b  col_c

col_aのデータに参加しました

28
Vance

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

T1にはあるがT2にはないcol_aの値がある場合は、代わりにLEFT OUTER JOINを使用できます。

46
Mark Byers

完全な外部結合を使用します。

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
4
p2u
SELECT table1.col_a, table1.col_b, table2.col_c 
  FROM table1 
  INNER JOIN table2 ON table1.col_a = table2.col_a
2
Håvard S