[firebase-br] Res: Query "Estranha" não totaliza pelo GROUP BY
Luiz Carlos Rosa
luiz em megatroncabos.com.br
Qua Ago 27 17:36:39 -03 2008
Uau! vc acertou na mosca! tirei a ordenação dos SELECT´s aninhados e parece
q resolveu.
Mas, perdoe a pergunta infame: Por que a ordenação nos SELECT´s aninhados
influenciou na totalização do SELECT principal?
SDS,
Luiz Rosa
----- Original Message -----
From: "robson" <robsonfg em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 27, 2008 2:07 PM
Subject: [firebase-br] Res: Query "Estranha" não totaliza pelo GROUP BY
ela ira criar um total em que estarao presente as diferentes variações de
A.NNOTA, A.FAMILIA e A.CODPRODUTO
tipo:
nota 1,2,3
familia 3,4,5
codproduto 6,7,8
totalizando
1 3 6
1 3 7
1 3 8
1 4 6
1 4 7
1 4 8
e assim sucessivamente
-------Mensagem original-------
De: Luiz Carlos Rosa
Data: 27/8/2008 13:59:56
Para: FireBase
Assunto: [firebase-br] Query "Estranha" não totaliza pelo GROUP BY
Senhores, boa tarde.
Preciso de uma ajuda. Criei a query abaixo, mas qual nao foi minha surpresa
ao saber que ela nao totaliza pelo campo FAMILIA, não sei o q ela faz, mas o
resultado nao condiz com o comando.
Alguem poderia me auxiliar?
Muito Obrigado.
SDS,
Luiz Rosa
SELECT FAMILIA,
SUM(PRCTOTAL) PRCTOTAL,
SUM(VLICMS) VLICMS,
SUM(VLIPI) VLIPI,
SUM(VLFRETE) VLFRETE
FROM (SELECT
FAMILIA,
(QTPRODUTO) QTPRODUTO,
(PRCCOMIPI) PRCTOTAL,
(VLICMS) VLICMS,
(VLIPI) VLIPI,
(CAST(CASE WHEN PESOITENS > 0 THEN VLPRESTACAO*PESOITEM/PESOITENS ELSE 0
END AS DECIMAL(12,2))) VLFRETE
FROM(SELECT DISTINCT
CAST(A.FAMILIA AS INTEGER) FAMILIA,
A.CODPRODUTO,
A.NNOTA,
CAST(A.QUANTIDADE AS INTEGER) QTPRODUTO,
CAST(A.PRCUNITARIO AS DECIMAL(12,4)) PRCUNITARIO,
CAST(A.PRCTOTAL AS DECIMAL(12,2)) PRCTOTAL,
CAST(A.PRCTOTAL+A.VALIPI AS DECIMAL(12,2)) PRCCOMIPI,
CAST(A.IPI AS DECIMAL(12,2)) PERCIPI,
CAST(A.VALIPI AS DECIMAL(12,2)) VLIPI,
CAST(A.ICM AS DECIMAL(12,2)) PERCICMS,
CAST(A.PRCTOTAL / 100 * A.ICM AS DECIMAL(12,2)) VLICMS,
CAST(C.TOTALPRODUTOS AS DECIMAL(12,2)) VLTOTALPROD,
CAST(C.TOTALIPI AS DECIMAL(12,2)) VLTOTALIPI,
CAST(C.TOTALICM AS DECIMAL(12,2)) VLTOTALICM,
CAST(COALESCE(C.ICMSUB,0) AS DECIMAL(12,2)) VLTOTALSUBST,
B.VENDA,
C.E_S,
CAST(A.PRCTOTAL/100*A.COMISSAO AS DECIMAL(12,2)) VLCOMISSAO,
F.PESOLIQUIDO PESOITENS,
C.NUMPED NUMPEDNOTA,
CAST(COALESCE(D.VLPRESTACAO,0) AS DECIMAL(12,2)) VLPRESTACAO,
CAST(A.QUANTIDADE/E.METRAGEM*E.PESOLIQUIDO AS DECIMAL(12,2))
PESOITEM
FROM CADNOTA2 A
INNER JOIN CADNATOP B ON B.CONTROLE=A.NATOPCONTROLE
INNER JOIN CADNOTA1 C ON C.CONTROLE=A.CONTROLE
INNER JOIN CADPRO1 E ON E.CONTROLE=A.CONTROLEPRODUTO
INNER JOIN (SELECT A.NNOTA,
SUM(CAST(A.QUANTIDADE/B.METRAGEM*B.PESOLIQUIDO AS DECIMAL(12,2)))
PESOLIQUIDO
FROM CADNOTA2 A INNER JOIN CADPRO1 B ON
B.CONTROLE=A.CONTROLEPRODUTO
WHERE A.DTEMISSAO BETWEEN '07/01/2008' AND '07/31/2008'
AND A.CANCELADO LIKE 'Não' GROUP BY A.NNOTA) F ON F.NNOTA=A.NNOTA
LEFT JOIN (SELECT DISTINCT NNOTA,NUMPED,VLPRESTACAO FROM FRETES) D
ON D.NNOTA=A.NNOTA AND D.NUMPED=A.NUMPED
WHERE A.DTEMISSAO BETWEEN '07/01/2008' AND '07/31/2008'
AND A.CANCELADO LIKE 'Não'
AND B.VENDA LIKE 'S'
AND C.E_S LIKE 'S'
ORDER BY A.NNOTA, A.FAMILIA, A.CODPRODUTO) )
GROUP BY FAMILIA
______________________________________________
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
No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.138 / Virus Database: 270.6.9/1637 - Release Date: 27/8/2008
07:01
.
______________________________________________
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
Mais detalhes sobre a lista de discussão lista