2009-11-23 6 views
0

Comment écrire une commande Microsoft SQL Server pour mettre à jour chaque ligne avec la valeur correspondante d'une seconde table?Mise à jour SQL avec une autre table

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

Ici, je veux remplacer tous les FirstName avec Temp.Firstname où le personid en personne est égale à Temp.PersonID

Répondre

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

Avez-vous essayé une sous-sélection?

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