Mas*_*ass 22 mysql select sql-update
假设我有选择,它从table1返回我:
ID Name
1 Bob
2 Alice
3 Joe
Run Code Online (Sandbox Code Playgroud)
然后我希望基于此结果在另一个表中的UPDATE值:
UPDATE table2 SET Name = table1.Name WHERE ID = table1.ID
Run Code Online (Sandbox Code Playgroud)
据我所知,我只能在一个地方进行内部选择,例如:
UPDATE table2 SET Name = (select Name from table1) WHERE ...
Run Code Online (Sandbox Code Playgroud)
我不知道如何指定WHERE条件.
Joh*_*ell 60
你应该做的就是加入这样的表格.
UPDATE table2 t2
JOIN table1 t1 ON t1.id = t2.id
SET t2.name = t1.name;
Run Code Online (Sandbox Code Playgroud)
如果您选择使用选择,可以这样做.
UPDATE table2 t2,
( SELECT Name, id
FROM table1
) t1
SET t2.name = t1.name
WHERE t1.id = t2.id
Run Code Online (Sandbox Code Playgroud)
Raj*_*osh 13
UPDATE table2
SET name = (SELECT table1.Name FROM table1 WHERE table1.id = table2.id)
WHERE apply_condition
Run Code Online (Sandbox Code Playgroud)
UPDATE table2 t2, (SELECT id, name FROM table1) t1 SET t2.name = t1.name WHERE t1.id = t2.id
Run Code Online (Sandbox Code Playgroud)