sql >> Base de Datos >  >> RDS >> PostgreSQL

Postgres:SELECCIONE el nombre de la columna según el valor booleano

Puedes usar un case expresión:

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

Esto supone que para cada fila, solo una columna es verdadera. De lo contrario, solo se devolverá el valor de la primera columna coincidente.