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

Postgres:SELECT nome da coluna com base no valor booleano


Você pode usar um case expressão:
select
    id,
    case
        when bike  = true then 'bike'
        when car   = true then 'car'
        when bus   = true then 'bus'
        when metro = true then 'metro'
    end mode
from survey

Isso supõe que para cada linha, apenas uma coluna é verdadeira. Caso contrário, apenas o valor da primeira coluna correspondente será retornado.