我正在嘗試使用表 b 中某些列的資料更新表 a。兩個表中的列名都匹配,無法弄清楚語法,有人可以幫忙嗎?
這就是我想要做的(表達的語法外):
UPDATE table_a SET table_a.col1 = table_b.col1, table_a.col2 = table_b.col2 WHERE table_a.id = table_b.id
也許(可能)我需要某種 JOIN 子句,但我還沒有弄清楚這些...... :-/
uj5u.com熱心網友回復:
您可以使用兩個表的 JOIN 更新您的表:
UPDATE table_a a
INNER JOIN table_b b ON a.id = b.id
SET a.col1 = b.col1, a.col2 = b.col2
我看到你在使用 MYSQL。不確定上面的版本是否有效。如果沒有,請嘗試:
UPDATE table_a a
INNER JOIN table_b b
SET a.col1 = b.col1, a.col2 = b.col2
WHERE a.id = b.id
uj5u.com熱心網友回復:
好的,所以我自己找到了... :-)
MERGE(不使用 WHEN NOT MATCHED 子句)是我的問題的答案。
我的解決方案:
MERGE INTO table_a USING table_b ON a.id=b.id WHEN MATCHED THEN UPDATE SET col1 = b.col1, col2 = b.col2;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/338971.html
