J'ai deux tables de base SQL Server:une table de serveur SQL avec les données d'une autre table
Customer (ID [pk], AddressLine1, AddressLine2, AddressCity, AddressDistrict, AddressPostalCode)
CustomerAddress(ID [pk], CustomerID [fk], Line1, Line2, City, District, PostalCode)
CustomerAddress contient plusieurs adresses pour l'enregistrement client.
Pour chaque enregistrement de client, je souhaite fusionner l'enregistrement CustomerAddress le plus récent où le plus récent est déterminé par la valeur d'ID CustomerAddress la plus élevée.
J'ai actuellement obtenu les éléments suivants:
UPDATE Customer
SET
AddressLine1 = CustomerAddress.Line1,
AddressPostalCode = CustomerAddress.PostalCode
FROM Customer, CustomerAddress
WHERE
Customer.ID = CustomerAddress.CustomerID
qui fonctionne, mais comment puis-je faire en sorte que le plus récent (ID le plus élevé) record CustomerAddress est sélectionné pour mettre à jour la table des clients?
Je pense qu'il ya une faute de frappe sur la seconde de la dernière ligne, si je comprends bien '' latest.LatestId' devrait être latest.CustomerID'. Après avoir changé cela a fonctionné correctement. J'ai modifié votre réponse avec le correctif. Je vous remercie. –
@David G - ah oui, c'était une faute de frappe! – AdaTheDev