Excerpts from Fernando Siguenza's message of jue jul 07 13:00:33 -0400 2011:
> 
> Estimados como estan, queria ver me ayudan con algo, tengo que hacer una 
> consulta a una tabla en especial, y quiero que si no me encuentra nada esa 
> consulta me retorne un valor especifico. algo asi
> select numero from documentos where codigo='FA'.
> Pero si no hay el registro que tenga el codigo FA, quiero que me retorne el 
> numero 0 probe asi
> select coalesce(numero,0) from documentos where codigo='FA'.
> Pero igual me retorna nullo.

Estás equivocado, no retorna nulo; retorna cero registros, que no es lo
mismo.  Si no hay un valor nulo al no haber registros, obviamente
coalesce() no hará nada porque no será invocado.

> Como podria hace lo que necesito???

Creo que tendrías que hacer un UNION ALL, algo así:

select numero from documentos where codigo = 'FA'
union all
select 0 where not exists (select numero from documentos where codigo = 'FA')

-- 
Álvaro Herrera <[email protected]>
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a