sql >> Databasteknik >  >> RDS >> Sqlserver

Uppdaterar rad i tabell baserat på underfråga i samma tabell

Det enklaste sättet att göra detta skulle vara

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

Eller (som du nu har lagt till 2005-taggen)

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


  1. Funktion i PostgreSQL för att infoga från en tabell till en annan?

  2. oracle PLSQL intervjufrågor

  3. SQL-fråga:Hur man får objekt från en kol ihopparad med en annan men inte vice versa

  4. MySQL 5-stjärniga betygsdatatyp?