Muchas gracias a ambos, ya lo tengo funcionando con la solución que me dio Juan.
    Seguramente tengas razón con lo del mal diseño pero es una "chapucilla" para salir del paso. Ya se implementará un sistema de login mejor diseñado y más funcional cunado el programa vaya creciendo y lo necesite.   

    Gracias de nuevo.

Alvaro Herrera escribió::
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".