2011-03-31 671 views
2

我想將表2中的列B中的Table1中的列A複製到列A中。列A的行是空的,並且表1中存在已填充數據的其他列。所以我需要從Table2中抓取整個B列,並在Table1的列A中插入所有這些值。這兩個表完全相同,只是列A根本沒有值。將sqlite中不同表中的列從一列複製到另一列

如何在sqlite3中執行此操作?

回答

4

用途:

INSERT INTO TABLE1 
SELECT B, 
     NULL, 
     NULL, 
     NULL 
    FROM TABLE2 

使用NULL作爲佔位符,你不能從TABLE2不過填充多列,假設表1的列允許空值。

0
UPDATE TABLE1 SET A = (SELECT B FROM TABLE2 WHERE ...) 

想想吧,如果表格真的是相同的,爲什麼你需要兩個呢?在任何情況下,你也可以這樣做:

BEGIN; 
DELETE FROM TABLE1; 
INSERT INTO TABLE1 (A, col1, col2, ...) SELECT (B, col2, col2, ...) FROM TABLE2; 
COMMIT; 
+1

這並沒有從第一工作,要麼......它插入相同的值(值Table1中的每一行中的行)。對於每一行,Table2中都有一個不同的值需要映射到Table1中的A列。那麼,我該如何做到這一點? – Irina 2011-03-31 19:02:23

+0

你需要一個where子句來匹配行;見上面的修改答案 – 2011-03-31 20:20:41

0

試試這個: INSERT INTO TABLE1(A)的選擇B從表2可以

相關問題