Jim*_*ley 1 sql sql-server sql-update
开发人员更改userid了表格列中的所有值map.我需要他们换回来,因为userid这也是profiles表中的关键.值得庆幸的是,由于不值得进入的原因,map并且profiles共享另一个共同的专栏,employeeId.
因此,我想获取所有的值userid,profiles并覆盖userid匹配行中的值map.
我的直觉是做这样的事情:
UPDATE map,profiles
SET map.userid = profiles.userid
WHERE map.employeeId = profiles.employeeId
Run Code Online (Sandbox Code Playgroud)
但SQLServer 2005并不关心UPDATE子句中有两个表.
有什么建议?
您可以在更新中使用FROM子句:
UPDATE m
SET m.userid = profiles.userid
from map m
inner join profiles on m.employeeId = profiles.employeeId
Run Code Online (Sandbox Code Playgroud)