我想更新基於讀取另一個表中的值的表。MySQL更新內部加入
UPDATE contacts_cstm set ld_dt_crtd_c = '2014-06-11 12:26:17'
WHERE **id = 'b0bc2ccf-ddfe-81b1-a278-53ba8bd0a93f'** AND deleted=0
然而id
是contacts
表中的列。
我想更新基於讀取另一個表中的值的表。MySQL更新內部加入
UPDATE contacts_cstm set ld_dt_crtd_c = '2014-06-11 12:26:17'
WHERE **id = 'b0bc2ccf-ddfe-81b1-a278-53ba8bd0a93f'** AND deleted=0
然而id
是contacts
表中的列。
UPDATE contacts_cstm
INNER JOIN contacts ON contacts.whatever_column = contacts_cstm.whatever_column
set ld_dt_crtd_c = '2014-06-11 12:26:17' WHERE id = 'b0bc2ccf-ddfe-81b1-a278-53ba8bd0a93f' AND deleted=0
你可以試試這個例子
UPDATE
Sales_Import
SET
Sales_Import.AccountNumber = RAN.AccountNumber
FROM
Sales_Import SI
INNER JOIN
RetrieveAccountNumber RAN
ON
SI.LeadID = RAN.LeadID
UPDATE
UPDATE contacts_cstm
SET ld_dt_crtd_c = '2014-06-11 12:26:17'
FROM contacts_cstm cc
INNER JOIN contacts c ON cc.id = c.id
WHERE cc.deleted = 0
你的回答應該與問題相關,避免發佈你自己的例子。 –
您錯過了與加入的ID字段匹配的where子句,可能會毀壞他的整個數據庫。 – Synchro
兩個表後的DDL。 –
如果'contacts_cstm'表與您的'contacts'表有外鍵關係,則您不需要內連接。在SQL查詢開始失控之前,您可能需要考慮「正常化」數據庫。 http://en.wikipedia.org/wiki/Database_normalization –
誰說,他沒有與聯繫人表的外鍵?你只是假設基於名稱'id'。 – fancyPants