Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ulisses Arrais

Select com Sum, Inner Join e Group By

Recommended Posts

Pessoal tenho esse select que deveria buscar quantas vezes o item foi vendido checando as tabelas

 

"SELECT SUM(pedido_item.qtd_pedido) as total, Pedido_item.cod_produto, Produtos.Produto, Produtos.cod_produto FROM Produtos INNER JOIN Pedido_item ON Pedido_item.cod_produto=Produtos.cod_produto WHERE Produtos.cod_categoria = " & varClie & " GROUP BY pedido_item.cod_produto, pedido_item.qtd_pedido, Produtos.Produto, Produtos.cod_produto ORDER BY Produtos.cod_produto"

 

O resultado deveria ser esse:

 

cod_produto produto total

204 teste 89

205 teste1 100

 

Mas retorna isso:

 

cod_produto produto total

204 teste 47

204 teste 42

205 teste1 50

205 teste1 50

 

A soma dos itens esta correta, mas pq ele quebra os valores?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Quati, mas o problema é que se eu retiro qualquer campo do GROUP BY ele dá essa mensagem:

 

 

Microsoft JET Database Engine error '80040e21'

You tried to execute a query that does not include the specified expression 'Produto' as part of an aggregate function.

 

Só funciona se todos os campo so Inner Join estiverem no Group.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema foi resolvido segue a string correta:

 

 

"SELECT SUM(pedido_item.qtd_pedido) as total, Pedido_item.cod_produto, Produtos.Produto, Produtos.cod_produto FROM Produtos INNER JOIN Pedido_item ON Pedido_item.cod_produto=Produtos.cod_produto WHERE Produtos.cod_categoria = " & varClie & " GROUP BY pedido_item.cod_produto, Produtos.Produto, Produtos.cod_produto ORDER BY Produtos.cod_produto"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.