Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Aktualisieren der Zeile in der Tabelle basierend auf der Unterabfrage in derselben Tabelle

Der einfachste Weg, dies zu tun, wäre

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

Oder (da Sie jetzt das 2005-Tag hinzugefügt haben)

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