table1から返されるselectがあるとします。
ID Name
1 Bob
2 Alice
3 Joe
次に、この結果に基づいて別のテーブルにUPDATE値が必要です。
UPDATE table2 SET Name = table1.Name WHERE ID = table1.ID
私が理解したように、私は1つの場所でのみ内部選択を行うことができます:
UPDATE table2 SET Name = (select Name from table1) WHERE ...
そして、WHERE条件の指定方法がわかりません。
このようにテーブルを結合するだけです。
UPDATE table2 t2
JOIN table1 t1 ON t1.id = t2.id
SET t2.name = t1.name;
JOIN の結果
selectで実行するように設定されている場合は、次のように実行できます。
UPDATE table2 t2,
( SELECT Name, id
FROM table1
) t1
SET t2.name = t1.name
WHERE t1.id = t2.id