我有兩張桌子,看起來都像是
id name value =================== 1 Joe 22 2 Derk 30
我需要根據每個表中的檢查名稱將 value
的值從 tableA
複製到 tableB
。
對於這個 UPDATE
語句有什麼提示嗎?
P粉1869047312023-10-12 17:50:26
您需要連接兩個表:
例如,您想要將 name
的值從 tableA 複製到 tableB
,它們具有相同的 ID
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.id = t2.id SET t1.name = t2.name WHERE t2.name = 'Joe'
更新1
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.id = t2.id SET t1.name = t2.name
更新2
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.name = t2.name SET t1.value = t2.value
P粉5119850822023-10-12 00:34:31
除了這個答案之外,如果您需要根據 tableA.value 動態變更 tableB.value,您可以執行以下操作:
UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value) WHERE tableA.name = 'Joe'