2015-12-02 122 views
0

關於此問題有許多不同的帖子,但我無法找到我需要的答案。我希望這個問題是獨一無二的。使用公共字段將記錄從一個表追加到另一個表

我試圖將所有數據從一個表追加到另一個表,而不創建新記錄。第二個表中的數據實際上是第一個表中現有記錄的一部分數據的子集。

例如: 我有表「SPK」。我想把所有來自SPK的數據寫入表「RCT」。我想匹配的每條記錄之間的通用字段是RegID,它在兩個表中都是唯一的(即每個RCT記錄只有一個SPK記錄)。

回答

0

如果我理解正確,你的意思是將一個表中的列(稱爲SECOND)追加到另一個表中(稱之爲FIRST)。

在這種情況下,這是否工作?

UPDATE 
    regcontactsTest 
    JOIN 
    speakersTest 
    ON speakersTest.RegistrationID = regcontactsTest.RegistrationID 
SET regcontactsTest.presentationtitle = speakersTest.presentationtitle 

編輯:更新基於MariaDB的語法

+0

於是我就這個確切的查詢。但它給了我這個錯誤:*#1064 - 你的SQL語法有錯誤;檢查對應於您MariaDB的服務器版本在第3行* 'UPDATE regcontactsTest SET regcontactsTest.presentationtitle = speakersTest.presentationtitle 使用近 'FROM speakersTest JOIN regcontactsTest ON speakersTest' FROM speakersTest JOIN 正確的語法手冊regcontactsTest ON speakersTest.RegistrationID = regcontactsTest.RegistrationID' – Mert

+0

你可以嘗試這樣的:UPDATE regcontactsTest JOIN speakersTest ON speakersTest.RegistrationID = regcontactsTest.RegistrationID SET regcontactsTest.presentationtitle = speakersTest.presentationtitle – Bajji

+0

這個工作:)謝謝你這麼多。 – Mert

0

您需要使用JOIN查詢。對於一般更新加入:

update tab1 a 
    join tab2 b ON a.join_colA = b.join_colB 
    SET a.columnToUpdate = [something] 

或者換句話說:

update 
    tab1 a 
    join tab2 b on .. 
set a.field=...; 
相關問題