Pessoal, Boa tarde! Alguém consegui me ajudar com esse caso Estou com o seguinte problema preciso comparar se houve variação de preço do produto para mais ou para menos dentro de um período e o percentual dessa variação, então usei um min e max para encontrar a menor e a maior data do período, também usei a mesma logica para o preço, o problema é que na logica q usei o menor valor esta sempre vinculado a menor data mas da pratica isso pode variar, por exemplo a última data de compra pode vir com um preço menor que da primeira compra, preciso de uma ajuda solucionar.
select p.pro_codg_mestre"Cod", p.pro_descricao"Descrição", min (i.mov_preco_unitario) "Valor Unitario_Min", min (trunc (i.mov_dta_movimento)) "DataMin", max (i.mov_preco_unitario) "Valor Unitario_Max", max (trunc (i.mov_dta_movimento)) "Data_Max", round((((max(i.mov_preco_unitario) - min(i.mov_preco_unitario))*100)/ min(i.mov_preco_unitario)),2)"Aumento Perc.%" from itens_nota i, produto p where p.pro_codg_interno = i.pro_codg_interno
and trunc (i.mov_dta_movimento) between '01/01/2022' and '19/12/2022'
having max(i.mov_preco_unitario) <> min(i.mov_preco_unitario) group by p.pro_codg_mestre, p.pro_descricao (editado)
Pergunta
Mizael Silva
select p.pro_codg_mestre"Cod", p.pro_descricao"Descrição", min (i.mov_preco_unitario) "Valor Unitario_Min", min (trunc (i.mov_dta_movimento)) "DataMin", max (i.mov_preco_unitario) "Valor Unitario_Max", max (trunc (i.mov_dta_movimento)) "Data_Max", round((((max(i.mov_preco_unitario) - min(i.mov_preco_unitario))*100)/ min(i.mov_preco_unitario)),2)"Aumento Perc.%" from itens_nota i, produto p where p.pro_codg_interno = i.pro_codg_interno
and trunc (i.mov_dta_movimento) between '01/01/2022' and '19/12/2022'
having max(i.mov_preco_unitario) <> min(i.mov_preco_unitario) group by p.pro_codg_mestre, p.pro_descricao (editado)
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora