[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