Query Oracle trazer valor de um registro agrupado
Prezados colegas agarrei em uma query que pensei ser simples mas está complicado!
Eu tenho uma base de dados onde tenho todas as minhas NF por por produto de entrada de mercadoria, preciso achar o valor do produto na ultima entrada do ano.
Eu cheguei fácil na data da nota de cada produto, agrupei por produto e dei um max na data, até ai tudo bem, mas pra trazer o valor que ta sendo o problema, se eu acrescentar o valor no group by ele mostra o produtos varias vezes!
"SELECT produto, MAX(data) FROM notas WHERE data < '2016-01-01' GROUP BY produto" <--- precisava trazer o valor da ultima entrada nessa query
Desde já agradeço!
Eu tenho uma base de dados onde tenho todas as minhas NF por por produto de entrada de mercadoria, preciso achar o valor do produto na ultima entrada do ano.
Eu cheguei fácil na data da nota de cada produto, agrupei por produto e dei um max na data, até ai tudo bem, mas pra trazer o valor que ta sendo o problema, se eu acrescentar o valor no group by ele mostra o produtos varias vezes!
"SELECT produto, MAX(data) FROM notas WHERE data < '2016-01-01' GROUP BY produto" <--- precisava trazer o valor da ultima entrada nessa query
Desde já agradeço!
David Rocha
Curtidas 0
Respostas
Lourival Queiroz
17/03/2016
Veja esse exemplo:
select a.data_entrada, a.Item, a.Preco from (select data_entrada, Item, preco, rank() OVER (PARTITION BY Item ORDER BY data_entrada desc) as Ranking from nfentrada) a where a.Ranking = 1
GOSTEI 0