[firebase-br] Ajuda com comando SUM
Sandro Souza
escovadordebits em gmail.com
Ter Out 30 20:50:24 -03 2012
Bom dia/tarde/noite Fausto.
Faço aqui a minha humilde sugestão.
As suas duas consultas originais são as seguinte:
As quantidades e valores em aberto:
*SELECT SUM(ITEQDE * ITEEMB) AS QDEABERTO,
SUM((ITEQDE * ITEEMB)* MODPRE) AS VLRABERTO
FROM PEDITEM
WHERE(PEDCOD = :PEDCOD)
AND (ITEDFT IS NULL)
AND (ITEDCN IS NULL)
*
E as quantidades e valores baixados:
*SELECT SUM(ITEQDE * ITEEMB) AS QDEBAIXADO,
SUM((ITEQDE * ITEEMB)*MODPRE) AS VLRBAIXADO
FROM PEDITEM
WHERE (PEDCOD = :PEDCOD)
AND (ITEDFT IS NOT NULL)
AND(ITEDCN IS NULL)
*
Agora vamos transformá-los em "tabelas virtuais", ou seja, colocá-las no
FROM de um SELECT mais externo:
*SELECT
A.QDEABERTO,
A.VLRABERTO,
B.QDEBAIXADO,
B.VLRBAIXADO
FROM
( SELECT
SUM(ITEQDE * ITEEMB)QDEABERTO,
SUM((ITEQDE * ITEEMB)* MODPRE)VLRABERTO
FROM
PEDITEM
WHERE
(PEDCOD = :PEDCOD)AND
(ITEDFT IS NULL)AND
(ITEDCN IS NULL)) A,
( SELECT
SUM(ITEQDE * ITEEMB)QDEBAIXADO,
SUM((ITEQDE * ITEEMB)*MODPRE)VLRBAIXADO
FROM
PEDITEM
WHERE
(PEDCOD = :PEDCOD)AND
(ITEDFT IS NOT NULL)AND
(ITEDCN IS NULL)) B
*
Agora é só testar.
Espero ter ajudado mais que atrapalhado. :D
Em 30 de outubro de 2012 16:48, Fausto <fausto.s.a em uol.com.br> escreveu:
> Pessoal, tenho um projeto, onde em determinada consulta, necessito
> retornaros seguinte valores da tabela de itens de pedidos:
> Quantidades em Aberto
> Valores em Aberto
> Quantidade Baixada
> Valores baixados
>
> Hoje tenho duas Sqls para fazer essa soma, e gostaria de ter isso em uma
> sql, abaixo mostro o conteúdo decada uma.
>
> Para somar os valores e quantidades em aberto:
> SELECT SUM(ITEQDE * ITEEMB) AS QDEABERTO,
> SUM((ITEQDE * ITEEMB)* MODPRE) AS VLRABERTO
> FROM PEDITEM
> WHERE(PEDCOD = :PEDCOD)
> AND (ITEDFT IS NULL)
> AND (ITEDCN IS NULL)
>
> Para somar os valores e quantidades Baixados:
> SELECT SUM(ITEQDE * ITEEMB) AS QDEBAIXADO,
> SUM((ITEQDE * ITEEMB)*MODPRE) AS VLRBAIXADO
> FROM PEDITEM
> WHERE (PEDCOD = :PEDCOD)
> AND (ITEDFT IS NOT NULL)
> AND(ITEDCN IS NULL)
>
> Estou tentando implementar um case when no sum, mas confesso já estou com
> os miolos cozinhando...
> Se alguém puder me dar uma dica fico desde já agradecido.
>
> --
> Fausto Alves
> Skype:faustoalves
> msn:faustoalves em com4.com.br
> Franca-SP
> Enviado pelo Mozilla Thunderbird
> http://br.mozdev.org/**thunderbird <http://br.mozdev.org/thunderbird>
>
> ______________________________**________________
> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>
Mais detalhes sobre a lista de discussão lista