Ultima venda de um determinado produto
Olá a todos!!!
Alguem poderia me ajudar na seguinte questao: Preciso determinar qdo e qto foi vendido um determinado produto.
Tentei a seguinte instrucao:
select produtos.descricao, itensvenda.idproduto, itensvenda.qtd, vendas.data
from vendas
inner join itensvenda on (vendas.nrvenda = itensvenda.nrvenda)
inner join produtos on (itensvenda.idproduto = produtos.idproduto)
Mas repetiu varias vezes o produto
[]´s
Evaristo
Alguem poderia me ajudar na seguinte questao: Preciso determinar qdo e qto foi vendido um determinado produto.
Tentei a seguinte instrucao:
select produtos.descricao, itensvenda.idproduto, itensvenda.qtd, vendas.data
from vendas
inner join itensvenda on (vendas.nrvenda = itensvenda.nrvenda)
inner join produtos on (itensvenda.idproduto = produtos.idproduto)
Mas repetiu varias vezes o produto
[]´s
Evaristo
T3r3son
Curtidas 0
Respostas
Emerson Nascimento
22/10/2008
de um único produto:
de TODOS os produtos (tire a codição de avaliação do produto do where):
espero que seja isso...
select prod.descricao, v.data, iv.idproduto, iv.qtd, iv.valorunitario from produtos prod inner join itensvenda iv on iv.idproduto = prod.idproduto inner join vendas v on v.nrvenda = iv.nrvenda where prod.idproduto = produtosolicitado and v.data = (select max(v2.data) from itensvenda iv2 inner join venda v2 on v2.nrvenda = iv2.nrvenda where iv2.idproduto = prod.idproduto)
de TODOS os produtos (tire a codição de avaliação do produto do where):
select prod.descricao, v.data, iv.idproduto, iv.qtd, iv.valorunitario from produtos prod inner join itensvenda iv on iv.idproduto = prod.idproduto inner join vendas v on v.nrvenda = iv.nrvenda where v.data = (select max(v2.data) from itensvenda iv2 inner join venda v2 on v2.nrvenda = iv2.nrvenda where iv2.idproduto = prod.idproduto)
espero que seja isso...
GOSTEI 0
T3r3son
22/10/2008
Obrigado, Emerson!!!
Mas nessa ultima instrucao, é totalizado os produtos vendidos. Preciso que seja mostrado a ultima venda e qtde dos produtos bem como a compra. Lembro-lhe que, se o produto nao foi comprado deve sair na consulta. Ou seja, o importante nesse caso seria a venda do produto. Digamos que tenha uma certa qtde de um produto no estoque a 3 meses e vendo todos. Nesse caso eu preciso saber se esta vendendo ou nao. Pela data de compra eu saberia se esta ou nao girando o estoque ou foi uma simples coincidencia ter vendido o produto. Isso me serve para fazer uma reposicao do estoque com base nos produtos que vendem diariamente e nao que vendem uam vez ou outra
[]´s
Evaristo
Mas nessa ultima instrucao, é totalizado os produtos vendidos. Preciso que seja mostrado a ultima venda e qtde dos produtos bem como a compra. Lembro-lhe que, se o produto nao foi comprado deve sair na consulta. Ou seja, o importante nesse caso seria a venda do produto. Digamos que tenha uma certa qtde de um produto no estoque a 3 meses e vendo todos. Nesse caso eu preciso saber se esta vendendo ou nao. Pela data de compra eu saberia se esta ou nao girando o estoque ou foi uma simples coincidencia ter vendido o produto. Isso me serve para fazer uma reposicao do estoque com base nos produtos que vendem diariamente e nao que vendem uam vez ou outra
[]´s
Evaristo
GOSTEI 0
T3r3son
22/10/2008
Ops!!!
Um erro de interpretacao minha: Não é totalizado o item, mas a data mostrada nao é a ultima data da venda do item.
[]´s
Evaristo
Um erro de interpretacao minha: Não é totalizado o item, mas a data mostrada nao é a ultima data da venda do item.
[]´s
Evaristo
GOSTEI 0
T3r3son
22/10/2008
Alguém se habilita?? Ou são a maioria como eu???
[]´s
Evaristo
[]´s
Evaristo
GOSTEI 0
Emerson Nascimento
22/10/2008
qual é o campo chave da tabela ´itensvenda´ ?
GOSTEI 0
Emerson Nascimento
22/10/2008
tente assim...
para saber a última data de venda de cada produto:
para saber qual foi o último item vendido e a última data de venda de cada produto:
bom, creio que seja isso...
mas só vai funcionar em função do campo chave da tabela itensvenda
para saber a última data de venda de cada produto:
select prod.idproduto, prod.descricao, max(v.data) ultima_venda from produtos prod inner join itensvenda iv on iv.idproduto = prod.idproduto inner join vendas v on v.nrvenda = iv.nrvenda group by prod.idproduto, prod.descricao
para saber qual foi o último item vendido e a última data de venda de cada produto:
select prod.idproduto, prod.descricao, v.data ultima_venda, iv.idproduto, iv.qtd, iv.valorunitario from produtos prod inner join itensvenda iv on iv.idproduto = prod.idproduto inner join vendas v on v.nrvenda = iv.nrvenda where iv.iditensvenda = -- supondo que ´iditensvenda´ seja (select top 1 -- o campo chave da tabela ´itensvenda´ iv2.iditensvenda from itensvenda iv2 inner join vendas v2 on v2.nrvenda = iv2.nrvenda where iv2.idproduto = iv.idproduto order by v2.data desc)
bom, creio que seja isso...
mas só vai funcionar em função do campo chave da tabela itensvenda
GOSTEI 0
T3r3son
22/10/2008
IDVENDA,IDPRODUTO,ITEM - ItensVenda
IDVENDA - VENDAS
IDPRODUTO - PRODUTOS
IDVENDA - VENDAS
IDPRODUTO - PRODUTOS
GOSTEI 0
Elisangela Silva
22/10/2008
Obrigadão
Emerson
Asimm como vc falou:
Deu certinho
Obrigado
Emerson
Asimm como vc falou:
tente assim... para saber a última data de venda de cada produto: [code:1:8fdc1d6743]select prod.idproduto, prod.descricao, max(v.data) ultima_venda from produtos prod inner join itensvenda iv on iv.idproduto = prod.idproduto inner join vendas v on v.nrvenda = iv.nrvenda group by prod.idproduto, prod.descricao
Deu certinho
Obrigado
GOSTEI 0
T3r3son
22/10/2008
Mas e o periodo que eu especificar vc vai incluir na instrução onde???
GOSTEI 0
Elisangela Silva
22/10/2008
O período esta especificado nesta parte
ele vai pegar a ultima venda do produto
max(v.data) ultima_venda
ele vai pegar a ultima venda do produto
GOSTEI 0
T3r3son
22/10/2008
Vc nao entendeu: quero especificar o periodo em que vou mostrar a ultima venda de um produto. 01/01/2013 - 28/02/2013, confere???
GOSTEI 0
Elisangela Silva
22/10/2008
Para especificar o período em que vou mostrar a ultima venda de um determinado produto ficaria assim:
lembrando que esse comando é valido em mysql, no caso vc precisa adaptar
para o seu gerenciador de banco de dados...
Select P.ProdId,P.Nome,max(v.DT) ultima_venda from produto P inner join item_venda IV on IV.ProdId = P.ProdId inner join venda v on v.NFiscal = IV.NFiscal where DT BETWEEN 2013-01-01 AND 2013-03-19 group by P.ProdId,P.Nome
lembrando que esse comando é valido em mysql, no caso vc precisa adaptar
para o seu gerenciador de banco de dados...
GOSTEI 0