From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Fernando Siguenza <fsigu(at)hotmail(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Consulta sobre funcion coalesce |
Date: | 2011-07-11 20:02:25 |
Message-ID: | 1310413030-sup-3888@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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 <alvherre(at)alvh(dot)no-ip(dot)org>
From | Date | Subject | |
---|---|---|---|
Next Message | Álvaro Hernández Tortosa | 2011-07-11 21:06:09 | Re: Consulta sobre funcion coalesce |
Previous Message | Juan Ginard | 2011-07-11 18:48:21 | Consulta de PostgreSQL |