Total vendido geral e por cliente no mesmo select
Boa tarde, em tabela com a seguinte estrutura:
ite_produto
ite_data
ite_quantidade
ite_cliente
precisava de uma consulta que resultasse a quantidade total vendida no período e a quantidade vendida para um determinado cliente no mesmo período (no mesmo select).
O usuário passara como parâmetro o código do cliente e o período.
Algo que ficasse parecido com isso:
Produto 1001 geral: 1.000 cliente: 50
Produto 1002 geral: 500 cliente: 20
Produto 1003 geral 700 cliente: 00
Sem mais, agradeço.
ite_produto
ite_data
ite_quantidade
ite_cliente
precisava de uma consulta que resultasse a quantidade total vendida no período e a quantidade vendida para um determinado cliente no mesmo período (no mesmo select).
O usuário passara como parâmetro o código do cliente e o período.
Algo que ficasse parecido com isso:
Produto 1001 geral: 1.000 cliente: 50
Produto 1002 geral: 500 cliente: 20
Produto 1003 geral 700 cliente: 00
Sem mais, agradeço.
Hamilton Silva
Curtidas 0
Respostas
Luiz Vichiatto
23/10/2017
Hamilton, você pode criar uma subconsulta para cada tipo de resultado
Coloque na sua estrutura e observe os resultados, depois comente sobre o que achou e se foi o que perguntou.
Coloque na sua estrutura e observe os resultados, depois comente sobre o que achou e se foi o que perguntou.
select codigo_produto, Geral = (select sum (ite_quantidade) from venda where ite_data between data_inicial and data_final) , Cliente = (select sum (ite_quantidade) from venda where ite_cliente=codigo_cliente and ite_data between data_inicial and data_final) , from PRODUTOS
GOSTEI 0
Hamilton Silva
23/10/2017
Fiz assim, seguindo sua ideia Luiz:
Select sum(b.ite_quant) as Geral, Sum(b.ite_valortotal) as Valor,
(select sum(a.ite_quant) as Quant from itens_ped a
where a.ite_produto = b.ite_produto and a.ite_data between :P1 and :P2 and a.ite_cliente = :P3) as Quant
from itens_ped b
where b.ite_data between :P1 and :P2
Muito obrigado pela ajuda.
Select sum(b.ite_quant) as Geral, Sum(b.ite_valortotal) as Valor,
(select sum(a.ite_quant) as Quant from itens_ped a
where a.ite_produto = b.ite_produto and a.ite_data between :P1 and :P2 and a.ite_cliente = :P3) as Quant
from itens_ped b
where b.ite_data between :P1 and :P2
Muito obrigado pela ajuda.
GOSTEI 0