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

Postgres:VÆLG kolonnenavn baseret på boolsk værdi

Du kan bruge en case udtryk:

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

Dette antager, at for hver række er kun én kolonne sand. Hvis ikke, vil kun værdien af ​​den første matchende kolonne blive returneret.



  1. Bedste måde at gemme arbejdstid og forespørge på det effektivt

  2. Indsæt blob i oracle-database med C#

  3. Annuller aktuel/aktiv forespørgsel i Ruby on Rails

  4. Hvordan læser man alle rækker fra en stor tabel?