GROUP BY NAO ESTA FUNCIONANDO NESSA SQL

WEBIER 27/10/2010 10:30:51
#356016
possup a seguinte sql:
[Ô]SELECT COD_PRODUTO, DESCRICAO, SUM(QUANTIDADE) AS var_Qtda, PRECO, SUM(PRECO * QUANTIDADE) AS var_Total FROM PEDIDOS_ITENS  group by COD_PRODUTO, DESCRICAO, PRECO, QUANTIDADE ORDER BY SUM(QUANTIDADE) DESC[Ô]


só que no flexgrid onde tah exibindo esses dados está aparecendo varios produtos iguais (com o mesmo COD_PRODUTO)


[txt-color=#e80000]tirei uma copia da tela e coloquei em anexo para voces verem.... o que faço?[/txt-color]

eu pensei em fazer assim(usando o DISTINCT):
[Ô]SELECT DISTINCT PO.CODIGO, PO.DESCRICAO, PI.PRECO From PEDIDOS_ITENS Where PI.COD_PRODUTO = PO.CODIGO) as var_Qtda FROM PRODUTOS AS PO INNER JOIN PEDIDOS_ITENS AS PI ON PO.CODIGO = PI.COD_PRODUTO ORDER BY PO.DESCRICAO[Ô][/c]

mas quando coloca o SUM() ele dar erro no código...

como eu faço para mostrar todos os produtos num grid, sem duplicidade e somar a quantidade vendida de cada produto?

Sabao 101
Açucar 97
Sal 265

MARCELO.TREZE 27/10/2010 10:46:58
#356018
bom qual o código que usa para preencher o grid?
XXXANGELSXXX 27/10/2010 11:46:22
#356030
  
[Ô]SELECT COD_PRODUTO, DESCRICAO, SUM(QUANTIDADE) AS var_Qtda, PRECO, SUM(PRECO * QUANTIDADE) AS var_Total FROM PEDIDOS_ITENS group by COD_PRODUTO, DESCRICAO, QUANTIDADE ORDER BY SUM(QUANTIDADE) DESC[Ô]
MARCIO.ROGERIO 27/10/2010 11:55:16
#356032
Resposta escolhida
Olá,

é porque você está agrupando também o preço e a quantidade, logo, quando um ou outro for diferente vai expandir a consulta.

Tipo se um produto tiver registros com quantidades diferentes vai ficar repetido o produto.

Até,

Rogério.
RRANGON 27/10/2010 14:18:39
#356045
Tenta dar um DISTINCT se nao funcionar, um TRIM do campo COD_PRODUTO. Talvez seja isso
RRANGON 27/10/2010 14:20:21
#356047
Agora que eu vi, acho que o MARCIO ROGERIO esta correto... ele esta sub-agrupando os campos da frente.
WEBIER 27/10/2010 15:11:31
#356055
entao como eu faria para sub-desagrupar os campos e agrupar somente por COD_PRODUTO independente do preço diferente ?
MARCIO.ROGERIO 27/10/2010 15:21:17
#356057
Olá,

mas, se o preço refere-se a um produto, logicamente que o preço sempre será o mesmo para cada produto, então :

SELECT COD_PRODUTO,
DESCRICAO,
PRECO,
SUM(QUANTIDADE) AS var_Qtda,
SUM(PRECO * QUANTIDADE) AS var_Total FROM PEDIDOS_ITENS
group by COD_PRODUTO, DESCRICAO, PRECO
ORDER BY SUM(QUANTIDADE) DESC

Assim deverá funcionar.

Até,

Rogério.
Tópico encerrado , respostas não são mais permitidas