Rumah > Soal Jawab > teks badan
Saya ada dua meja, kedua-duanya serupa
id name value =================== 1 Joe 22 2 Derk 30
Saya perlu value
的值从 tableA
复制到 tableB
berdasarkan nama semak dalam setiap jadual.
Ada petua untuk pernyataan UPDATE
ini?
P粉1869047312023-10-12 17:50:26
Anda perlu menyertai dua jadual:
Sebagai contoh, anda mahu 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'
Kemas kini 1
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.id = t2.id SET t1.name = t2.name
Kemas kini 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
Sebagai tambahan kepada jawapan ini, jika anda perlu menukar tableB.value secara dinamik berdasarkan tableA.value, anda boleh melakukan perkara berikut:
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'