2017-04-19 49 views
0

我有2代表 'TAB1' 和 'TAB2':如何使用SQLite合併具有不同行數的2個表中的列?

TAB1是:

col1 
25.0 
30.0 
31.0 
25.0 

TAB2是:

col1 col2 
25.0 11.0 
30.0 99.0 
31.0 57.0 

我想通過匹配以下合併表結果tab1中的col1值與tab2中的col1(因此使用來自tab2的col2值填充):

col1 col2 
25.0 11.0 
30.0 99.0 
31.0 57.0 
25.0 11.0 

我目前使用此源碼代碼:

INSERT INTO `merged_table1` 
SELECT * FROM tab1 LEFT JOIN tab2 
ON tab1.col1 = tab2.col1; 

但是,結果是不正確的(產生額外的列):

25 25 11 
30 30 99 
31 31 57 
25 25 11 
+0

我相信我得到了它:'INSERT INTO'merged_table1' SELECT tab1.col1,tab2.col2 FROM TAB1 LEFT JOIN TAB2 ON tab1.col1 = tab2.col1;' – user121

回答

0

如果列是否確實具有相同的名稱,你可以做該連接使用的使用條款,這會自動刪除重複的列:

INSERT ... 
SELECT * 
FROM  tab1 
LEFT JOIN tab2 USING (col1); 

否則,只是告訴數據庫你想要的列:

INSERT ... 
SELECT tab1.col1, 
     tab2.col2 
FROM  tab1 
LEFT JOIN tab2 ON tab1.col1 = tab2.col1; 
相關問題