2013-04-05 76 views
1

我需要組合SQL Server中的兩個表。但我需要有與表B中的每一個項目表A的每個項目一排,導致表C.我會是這樣的:SQL Server - 插入兩個表的組合

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 

謝謝大家!

+0

什麼是'A'和'B'列的名字呢? 「C」中所需的結果是一個連續的列還是兩列?表'C'是否已經存在? – 2013-04-05 22:18:56

回答

5

您可以簡單地這樣做:

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

需要注意的是:我假定列的名字,因爲你在你的問題沒有說明他們。

+0

嗨Mahmoud Gamal!我非常感謝你的幫助! 但我錯了。 我編輯了這個問題,請檢查一下! – MMeirelles 2013-04-05 23:15:41

+0

謝謝Mahmoud! 我用SQL小提琴,一切都OK! – MMeirelles 2013-04-05 23:32:18

+0

@MMeirelles - 隨時歡迎您:) – 2013-04-06 05:06:38

0

貌似你試圖得到如下:

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