2009-06-08 11 views
3

2つの表を1つにまとめたいと思います。私が持っているとしましょう:同じ数の行で2つの列を結合する

表1

ID  Name 
1  A 
2  B 
3  C 

表2を

ID  Name 
4  D 
5  E 
6  F 

私が作りたい表3、私はSQL Serverでこれを行うことができますどのように

Name1 Name2 
A  D 
B  E 
C  F 

?どんな助けでも大歓迎です。

答えて

5
WITH t1 AS 
     (
     SELECT a.*, ROW_NUMBER() OVER (ORDER BY id) AS rn 
     FROM table1 a 
     ), 
     t2 AS 
     (
     SELECT a.*, ROW_NUMBER() OVER (ORDER BY id) AS rn 
     FROM table2 a 
     ) 
SELECT t1.name, t2.name 
FROM t1 
JOIN t2 
ON  t1.rn = t2.rn 
+1

小さなバグ:ON t1.rn = r2.rn –

+0

ammoQ:ええと.... – Quassnoi

1
select t1.Name Name1, t2.Name Name2 
from Table1 t1, table2 t2 
where t1.ID = t2.ID 

OR

select t1.Name Name1, t2.Name Name2 
from Table1 t1 join table2 t2 
    on t1.ID = t2.ID 
+0

何の列IDが存在しない場合はどう? – ByulTaeng

+1

IDがない場合はどのようにテーブルが関連していますか? Name1 = AはName2 = Dに対応していますか? –

+1

IDをお持ちでない場合はQuassnoiのソリューションを使用し、order by節でidをテーブルの主キーに置き換えてください。 –

関連する問題