tags:

views:

36

answers:

2

How do I write a Microsoft SQL Server command to update every row with the corresponding value from a second table?

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

Here I want to replace every FirstName with Temp.Firstname where the personid in Person is equal to Temp.PersonID

+6  A: 
UPDATE P
SET FirstName=T.FirstName
FROM Person P
JOIN Temp T
ON T.PersonID=P.PersonID
HLGEM
+3  A: 

Have you tried a subselect?

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