2013-02-04 60 views
1

我試圖合併幾個表在一起來鞏固數據,但是當我嘗試從一個表插入一列到另一個,查詢我使用在表中最後一個當前存在的記錄之後插入記錄。關於重複列的問題有很多,但它們似乎都是以空表開始的。MySQL從不同的表中複製列,插入在表頂部

INSERT INTO newTable(newColumn) SELECT oldColumn FROM oldTable 

如何修改此查詢以在表的開頭插入行而不是結束?

發生了什麼(左)與的

視覺表現什麼,我希望發生的事情(右):

+--------+--------+------------+ +--------+--------+------------+ 
| ID  | Column | newColumn | | ID  | Column | newColumn | 
+--------+--------+------------+ +--------+--------+------------+ 
| 1  | 12345 |   | | 1  | 12345 | 12345 | 
| 2  | 12345 |   | | 2  | 12345 | 12345 | 
| 3  | 12345 |   | | 3  | 12345 | 12345 | 
| 4  |  | 12345 | +--------+--------+------------+ 
| 5  |  | 12345 | 
| 6  |  | 12345 | 
+--------+--------+------------+ 
+0

什麼是在列1和2中的數據之間的關係? –

+0

身份證是相同的,如果這將有所幫助。它是從谷歌分析導出的數據;現在,每個度量標準都有自己的表格,我試圖將它們合爲一體。 –

+2

是的,這可以幫助很多人。您應該更新而不是插入,並將其與聯接結合使用。 –

回答

3

正如在評論中提到,你需要一個UPDATE語句 INSERT語句:

UPDATE newTable 
    JOIN oldTable 
    ON newTable.id = oldTable.id 
SET newcolumn = oldcolumn; 

受試例如這裏可以看出:http://sqlfiddle.com/#!2/77724/1

+0

這樣做。謝謝! (需要關閉安全更新模式才能做到這一點。) –

+0

非常歡迎您。 – bernie

+0

@bernie。奧克,你先在哪裏。我正忙着做小提琴。 –