el-PRiNCiPiTo escribió:
   Tengo esta tabla:
   idlogin   serial
   usuario   character varying
   contraseña    character varying
   empresa1    boolean
   empresa2    boolean
   empresa3   boolean

Y querría hacer un select que me devuelva el nombre de la columna en caso de que su valor sea true.

jeeee, lo primero que se me ocurrió fue un script así:

select *
, case when empresa1=true then 'empresa1' else '' end as col_empresa1
, case when empresa2=true then 'empresa2' else '' end as col_empresa2
, case when empresa3=true then 'empresa3' else '' end as col_empresa3
from tabla

ahí esta "fusilado" el resultado, pero creo que obtendrás el resultado necesario.

Otra sería creando un script dinámico, tocando las tablas catálogos, pero habría que evaluar si es necesario.


Saludos cordiales
Juan Ramírez
El Salvador
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a