Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Mise à jour de la ligne dans la table en fonction de la sous-requête sur la même table

La façon la plus simple de le faire serait

UPDATE tableA
SET    date5 = (SELECT MAX(D)
                FROM   (VALUES(date1),
                              (date2),
                              (date3),
                              (date4)) T(D))  

Ou (comme vous avez maintenant ajouté la balise 2005)

UPDATE tableA
SET    date5 = (SELECT MAX(D)
                FROM   (SELECT date1 UNION ALL
                        SELECT date2 UNION ALL
                        SELECT date3 UNION ALL
                        SELECT date4) T(D))