Re: Consulta sobre funcion coalesce

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>

In response to

Responses

Browse pgsql-es-ayuda by date

  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