SQL Server - 插入两个表的组合

时间:2013-04-05 22:13:30

标签: sql sql-server tsql insert

我需要在SQL Server中组合两个表。但是我需要在表A的每个项目中都有一行与表B的每个项目,得到一个表C.我会是这样的:

Table A
A
B
C
D

Table B
1
2
3

Table C
column x | cloumn Y
   A           1
   A           2
   A           3
   B           1
   B           2 
   B           3
   C           1
   C           2
   C           3
   D           1
   D           2
   D           3

全部谢谢!

2 个答案:

答案 0 :(得分:6)

你可以这样做:

SELECT 
 a.a + CAST(b AS VARCHAR(2)) AS a
FROM tablea a
CROSS JOIN tableb AS b;

看到它的实际效果:

然后,您可以使用INTO子句将它们插入已存在的表中:

INSERT INTO tablec(c)
SELECT 
 a.a + CAST( b AS VARCHAR(2)) AS a
FROM tablea a
CROSS JOIN tableb AS b;

或从这些值创建一个新表:

SELECT 
 a.a + CAST( b AS VARCHAR(2)) AS c
INTO Tablec
FROM tablea a
CROSS JOIN tableb AS b;

Updated SQL Fiddle Demo

请注意:我假设了列的名称,因为您没有在问题中指定它们。

答案 1 :(得分:0)

看起来你正试图获得以下内容:

select a.col1, b.col1
into tableC
from tableA a
cross join tableB b