Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Álvaro Hernández TortosaDate: 2011-07-11 21:06:09
Subject: Re: Consulta sobre funcion coalesce
Previous:From: Juan GinardDate: 2011-07-11 18:48:21
Subject: Consulta de PostgreSQL

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group