GROUP BY NAO ESTA FUNCIONANDO NESSA SQL
possup a seguinte sql:
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
[Ô]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
bom qual o código que usa para preencher o grid?
[Ô]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[Ô]
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.
é 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.
Tenta dar um DISTINCT se nao funcionar, um TRIM do campo COD_PRODUTO. Talvez seja isso
Agora que eu vi, acho que o MARCIO ROGERIO esta correto... ele esta sub-agrupando os campos da frente.
entao como eu faria para sub-desagrupar os campos e agrupar somente por COD_PRODUTO independente do preço diferente ?
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.
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