Re: Select que devuelva el nombre de las columnas

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: el-PRiNCiPiTo <el-PRiNCiPiTo(at)terra(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Select que devuelva el nombre de las columnas
Date: 2009-03-24 16:51:23
Message-ID: 20090324165122.GJ16373@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

el-PRiNCiPiTo escribió:

> Pues me refiero a las columnas empresa1, empresa2 y empresa3 que son
> las que pueden tener valor true/flase.<br>
> Entonces por ejemplo podr&iacute;a tener estos datos:<br>
> <pre wrap="">
> idlogin usuario contrase&ntilde;a empresa1 empresa2 empresa3
> &nbsp;1 pedro 1234 true false true
> &nbsp;2 paco 1234 true true true
>
> Entonces cuando hiciera el select que estoy buscando si en el where pongo usuario = 'pedro' la salida tendr&iacute;a que ser empresa1 empresa3 y si pongo usuario = 'paco' la salida ser&iacute;a empresa1 empresa2 empresa3.
>
> Muchas gracias por molestarte en preguntar, &iquest;alguna idea?

Ya veo ... puedes usar lo que te sugirieron en la otra respuesta:

select
case when empresa1 then 'empresa1' else '' end ||
' ' ||
case when empresa2 then 'empresa2' else '' end ||
' ' ||
case when empresa3 then 'empresa3' else '' end
from tabla
where usuario = 'paco'

En todo caso eso que tienes me huele a mal diseño. Creo que deberías
tener las "empresas" en otra tabla (nombre/id), y en una tercera tabla
tener un registro por cada combinacion idlogin/empresa "true".

--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 48' 55.3", W 73º 15' 24.7"
"Las cosas son buenas o malas segun las hace nuestra opinión" (Lisias)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message juan 2009-03-24 16:52:35 Re: Select que devuelva el nombre de las columnas
Previous Message el-PRiNCiPiTo 2009-03-24 16:39:17 Re: Select que devuelva el nombre de las columnas