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
