[firebase-br] Duvida em Consulta com SUM

acf em andreconrado.net acf em andreconrado.net
Ter Jan 3 13:24:55 -03 2012


Boa tarde Pedro!!!

Entendo que já tenha funcionado, não há nada que existe que ainda não  
possa ser melhorado.

Seu código poderia ser reescrito sem o uso de sub-selects. Verifique  
se assim funciona:


SELECT SUM(VL_CONTRATADO) AS VL_TOTAL,

        SUM(IIF(DS_ATIVO = 'S' AND DS_TIPO_COBRANCA = 'F',  
VL_CONTRATADO, 0)) AS VL_FOLHA,

        SUM(IIF(DS_ATIVO = 'S' AND DS_TIPO_COBRANCA = 'D',  
VL_CONTRATADO, 0)) AS VL_DEBITO,

        SUM(IIF(DS_ATIVO = 'S' AND DS_TIPO_COBRANCA = 'B',  
VL_CONTRATADO, 0)) AS VL_BOLETO

FROM TB_PRODUTOS_ASSOCIADOS

WHERE CO_ASSOCIADO = 1

GROUP BY CO_ASSOCIADO


Acredito que fique até mais legível,

Abraços,
Conrado.




Citando Marlon ETI <marlon em esferati.com.br>:

> Grato a todos pela ajuda por mais uma vez!
>
>
>
> From: Pedro Braga [mailto:bragaped em gmail.com]
> Sent: terça-feira, 3 de janeiro de 2012 08:10
> To: marlon em esferati.com.br; FireBase
> Subject: Re: [firebase-br] Duvida em Consulta com SUM
>
>
>
> Você esqueceu de colocar a condição do associado nos sub-select por isso
> está trazendo a somatoria geral a sql correta ficaria assim
>
> SELECT SUM(VL_CONTRATADO) AS VL_TOTAL,
>
> (SELECT SUM(VL_CONTRATADO) AS VL_FOLHA FROM TB_PRODUTOS_ASSOCIADOS
>
>  WHERE DS_ATIVO = 'S' AND DS_TIPO_COBRANCA = 'F' AND
> CO_ASSOCIADO=P.CO_ASSOCIADO) AS VL_FOLHA,
>
> (SELECT SUM(VL_CONTRATADO) AS VL_DEBITO FROM TB_PRODUTOS_ASSOCIADOS
>
>  WHERE DS_ATIVO = 'S' AND DS_TIPO_COBRANCA = 'D' AND
> CO_ASSOCIADO=P.CO_ASSOCIADO) AS VL_DEBITO,
>
> (SELECT SUM(VL_CONTRATADO) AS VL_BOLETO FROM TB_PRODUTOS_ASSOCIADOS
>
>  WHERE DS_ATIVO = 'S' AND DS_TIPO_COBRANCA = 'B' AND
> CO_ASSOCIADO=P.CO_ASSOCIADO) AS VL_BOLETO
>
> FROM TB_PRODUTOS_ASSOCIADOS P WHERE CO_ASSOCIADO = 1
>
> GROUP BY CO_ASSOCIADO
>
> Pedro E. Braga
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:  
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



André Conrado
+55 21 88406232

http://andreconrado.net

"Posso todas as coisas naquele que me fortalece" Filipenses 4:13





Mais detalhes sobre a lista de discussão lista