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

Postgres:SELEZIONA il nome della colonna in base al valore booleano

Puoi usare un case espressione:

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

Ciò presuppone che per ogni riga sia vera solo una colonna. In caso contrario, verrà restituito solo il valore della prima colonna corrispondente.