使用表Y中的值填充表X中的列

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子句中有两个表.

有什么建议?

And*_*zub 6

您可以在更新中使用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)