Talvez essa não seja a melhor forma ainda...

Imaginemos 3 valores: 2, 3 e -10; o SUM() dessa brincadeira é -5, logo não
retornará 0 como o colega estava querendo (ao menos foi o que deixou
transparecer), mas sim retornará -5. O COALESCE() retorna o primeiro valor
NAO-NULO de uma seqüência de valores.

Saludos.

On Sat, Jan 17, 2009 at 11:26, Euler Taveira de Oliveira
<[email protected]>wrote:

> Antonio Prado escreveu:
> > Considerando que o retorno deve ser um número, a consulta abaixo pode
> > ser melhorada?
> >
> > SELECT CASE
> >           WHEN sum(valor)>0
> >           THEN sum(valor)
> >           ELSE 0
> >        END
> > FROM cheque_recebido
> > WHERE cliente_id = 15007
> >
> SELECT COALESCE(SUM(valor), 0) FROM cheque_recebido WHERE cliente_id =
> 15007
>
>
> --
>  Euler Taveira de Oliveira
>  http://www.timbira.com/
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Fernando Brombatti
email-msn-gtalk-skype:
[email protected]
work: +55 54 3218-6060
home: +55 54 3028-7217
mobile: +55 54 9189-7970
Visite press.datamais.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a