[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