2016-06-21 64 views
3

總新手,試圖弄清楚。寫了一個錯誤的查詢,並刪除了我的主客戶表中的大多數姓和名。我在不同的表中有名字,但似乎不知道如何根據每個唯一的ID將名稱firstlast插入我的主表中。使用相應的唯一ID更新另一個表中的數據行

這是我迄今爲止所嘗試的,完全在我的頭上。

UPDATE `Master_table` SET `first` = (SELECT `first` FROM `table_1`) WHERE `id` IN(SELECT `id` FROM `table_1`); 

任何幫助和憐憫,將不勝感激

回答

2

遺憾聽到的缺失。我可以看到你的查詢在哪裏,但在UPDATE聲明中不允許使用相關的子查詢(儘管這裏沒有關聯,這是問題真正開始的地方)。相反:

UPDATE Master_table, table_1 
SET master_table.first = table_1.first, 
    master_table.last = table_1.last 
WHERE master_table.id = table_1.id; 

您可以深入探索MySQL's UPDATE help page。但基本思想是列出UPDATE條款中涉及的表格以及WHERE條款中的關係(如聯接)。那麼你的SET是非常簡單的。

+0

真棒,謝謝JNevill!我會按照你的建議閱讀更多內容。 – NateB

相關問題