用另一个表更新sql

时间:2009-11-23 18:41:59

标签: sql-server

如何编写Microsoft SQL Server命令以使用第二个表中的相应值更新每一行?

UPDATE Person SET 
FirstName=Temp.FirstName
FROM Temp
WHERE Temp.PersonID=Person.PersonID

这里我想用Temp.Firstname替换每个FirstName person中的personid等于Temp.PersonID

2 个答案:

答案 0 :(得分:6)

UPDATE P
SET FirstName=T.FirstName
FROM Person P
JOIN Temp T
ON T.PersonID=P.PersonID

答案 1 :(得分:3)

您是否尝试过子选择?

UPDATE Person SET 
FirstName = (SELECT Temp.FirstName FROM Temp WHERE Temp.PersonID=Person.PersonID)