PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Visualizza il nome della colonna con il valore massimo tra più colonne

Questo è un esempio da manuale per un "semplice" o "commutato" CASE istruzione per evitare la ripetizione del codice.

SELECT CASE greatest(denver, seattle, new_york, dallas, "san fran")
          WHEN denver      THEN 'denver'
          WHEN seattle     THEN 'seattle'
          WHEN new_york    THEN 'new_york'
          WHEN dallas      THEN 'dallas'
          WHEN "san fran"  THEN 'san fran'
       END AS city, *
FROM   tbl;

In caso di parità vince il primo della lista (da sinistra a destra).