2009-06-08 29 views
3

我想将两个表合并为一个。让说我有:加入两列,行数相同

表1

ID  Name 
1  A 
2  B 
3  C 

表2

ID  Name 
4  D 
5  E 
6  F 

我要打表3

Name1 Name2 
A  D 
B  E 
C  F 

我如何在SQL Server中做到这一点?任何帮助是极大的赞赏。

回答

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
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 2009-06-08 09:49:22

+1

如果没有ID,表格如何关联?什么标准决定Name1 = A对应于Name2 = D? – 2009-06-08 10:06:39