我有兩個表A和B,包含30列(相同變量名稱,不同年份的數據),沒有主鍵,每個記錄近百萬條記錄。SQL:在String上外連接兩個表並將類似插入另一個
我想比較A.X1
與B.X1
(nvarchar8
,包含空格, - ,字母和數字),並插入外連接在另一個表C中的結果(與相同的30列),所以我有A和其中B都行! = B.X1上的A)。
實施例:
表A
X1 X2 X3 ..... X30
11 E R ..... G
12 R 4 L
13 S 5 NULL
14 D T NULL
表B
X1 X2 X3 ..... X30
11 E R ..... G
12 R 4 L
15 R2 56 NULL
16 R1 T1 NULL
所得表C中
X1 X2 X3 ..... X30
11 E R ..... G
12 R 4 L
13 S 5 NULL
14 D T NULL
15 R2 56 NULL
16 R1 T1 NULL
我如何做到這一點。
我試圖
INSERT INTO C
SELECT *
from A
full outer join B
on A.X1 = B.X1
錯誤,我得到
Msg 213, Level 16, State 1, Line 1
Insert Error: Column name or number of supplied values does not match table definition.
我有C語言創建的,這是目前空。 becasue你在你需要的列數的兩倍連接表和retunring *,與生病結果
看來你需要的是A和B的UNION – Noel
而不是SELECT *您應該指定列名稱。 –
而且您還應該始終在'INSERT'子句中指定該列以避免任何意外和問題! –