Consulta SQL sem duplicar valores
Olá tenho 3 tabelas, Produtos, Itens_Vendas e Vendas, fiz a consulta, exemplo:
´select * from Produtos, Itens_Vendas, Vendas where Produtos.Codigo = Itens_Vendas.Cod_produto and Vendas.Codigo = Itens_Vendas.Cod_Venda and Vendas.Data = 13/08/09´
No dbgrid tenho 4 fields: Produto, QDE, Valor, Total
Ele me retorna os produtos vendidos no dia 13/08/09, só que se ele foi vendido 5 vezes vai ser mostrado 5 vezes.
Aí segue minha dúvida, como faço para agrupar, mostrar o nome do produto somente 1 vez, mas a quantidade real vendida, sendo a soma das QDE do mesmo produto e também o Total sendo o resultado das QDE vezes o Valor.
´select * from Produtos, Itens_Vendas, Vendas where Produtos.Codigo = Itens_Vendas.Cod_produto and Vendas.Codigo = Itens_Vendas.Cod_Venda and Vendas.Data = 13/08/09´
No dbgrid tenho 4 fields: Produto, QDE, Valor, Total
Ele me retorna os produtos vendidos no dia 13/08/09, só que se ele foi vendido 5 vezes vai ser mostrado 5 vezes.
Aí segue minha dúvida, como faço para agrupar, mostrar o nome do produto somente 1 vez, mas a quantidade real vendida, sendo a soma das QDE do mesmo produto e também o Total sendo o resultado das QDE vezes o Valor.
Cizo2000
Curtidas 0
Respostas
Facc
13/08/2009
use o group by <nome_do_campo_que_deseja_agrupar>
GOSTEI 0
Cizo2000
13/08/2009
use o group by <nome_do_campo_que_deseja_agrupar>
Olá Facc, obrigado, mas vc poderia me exemplificar, pois sou meio novato em SQL.
GOSTEI 0
Cizo2000
13/08/2009
use o group by <nome_do_campo_que_deseja_agrupar>
Olá Facc, obrigado, mas vc poderia me exemplificar, pois sou meio novato em SQL.
GOSTEI 0
Cizo2000
13/08/2009
use o group by <nome_do_campo_que_deseja_agrupar>
Olá Facc, obrigado, mas vc poderia me exemplificar, pois sou meio novato em SQL.
GOSTEI 0
Emerson Nascimento
13/08/2009
não faz sentido manter a coluna valor. faz mais sentido manter a coluna da média calculada para o valor.
quando se tratar deste tipo de problema, publique a estrutura das tabelas envolvidas, pois não conhecemos os campos que serão necessários para a consulta.
select IV.Cod_produto, P.Descricao, Sum(IV.QTDE) Qtde, Sum(IV.ValorUnit) Valor, Sum(IV.QTDE*IV.ValorUnit) Total, Cast(Sum(IV.QTDE*IV.ValorUnit)/Sum(IV.QTDE) as Numeric(10,4)) Media from Itens_Vendas IV inner join Vendas V on (V.Codigo = IV.Cod_Venda and V.Data = ´13/08/09´) left join Produtos P on (P.Codigo = IV.Cod_produto) group by IV.Cod_produto, P.Descricao
quando se tratar deste tipo de problema, publique a estrutura das tabelas envolvidas, pois não conhecemos os campos que serão necessários para a consulta.
GOSTEI 0