PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Exibir o nome da coluna com o valor máximo entre várias colunas


Esse é um exemplo de livro didático para um "simples" ou "switched" CASE instrução para evitar a repetição de código.
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;

O primeiro da lista (da esquerda para a direita) vence em caso de empate.