Paulo,  obrigado fiz o ajuste aqui e funcionou perfeitamente. Obrigado
também Delson pela ajuda.

 

Att.

 

Pedro de Souza

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de Paulo A. Petruzalek
Enviada em: quinta-feira, 14 de junho de 2012 07:50
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Ajuda com sql posição de estoque por data

 

  

Se você quer retornar a quantidade na maior data menor ou igual ao parametro
do relatório, o filtro da data deve estar na query mais interna (select
max(data) where data <= '...' and ...).

Você chegou bem perto, só falta fazer esse ajuste. Com isso você também vai
poder cortar um nível de subquery:

SELECT H2.* 
FROM TABELA1 H2
WHERE H2.DATA = (SELECT MAX(H3.DATA) 
FROM TABELA1 H3
WHERE H3.CODPRO = H2.CODPRO 
AND H3.DATA <= '14/06/2012'
GROUP BY H3.CODPRO);

On Thu, 14 Jun 2012 10:37:44 -0000
"pedrossjr" <pedros...@yahoo.com.br <mailto:pedrossjr%40yahoo.com.br> >
wrote:

> Bom dia pessoal, estou quebrando a cabeça aqui mais não consigo gerar este
relatório. Preciso trazer a posição de estoque de produtos a partir de uma
data informada, segue o exemplo.
> Tenho a seguinte tabela abaixo:
> 
> CodPro Qtd Data
> 1 6 27/05/2012 
> 1 5 30/04/2012
> 1 4 01/03/2011 
> 2 10 01/06/2012 
> 2 3 03/01/2012 
> 3 80 01/02/2012
> 3 35 22/07/2011
> 
> Quero a data de posição de estoque do dia 25/04/2012, no meu relatório
teria que sair assim:
> 
> CodPro Qtd Data
> 1 4 01/03/2011 
> 2 3 03/01/2012 
> 3 80 01/02/2012
> 
> Outro exemplo, posição do dia 14/06/2012:
> 
> CodPro Qtd Data
> 1 6 27/05/2012 
> 2 10 01/06/2012 
> 3 80 01/02/2012
> 
> Já tentei vários sql e meu último até o momento foi este mais não
funcionou ainda:
> 
> SELECT H1.* FROM (SELECT H2.* FROM TABELA1 H2
> WHERE H2.DATA = (SELECT MAX(H3.DATA) FROM TABELA1 H3
> WHERE H3.CODPRO = H2.CODPRO GROUP BY H3.CODPRO)
> AND H2.QTD > 0) H1 WHERE H1.CODPRO > 0
> AND H1.DATA <= '14/06/2012'
> 
> Alguém já precisou fazer algo deste tipo que possa me dar uma ajudar?
> Agradeço a todos.
> 
> Pedro de Souza
> 

-- 
Paulo A. Petruzalek
Oracle DBA
OCA 11g - OCP PL/SQL
http://oraculodosul.blogspot.com
ppetruza...@yahoo.com.br <mailto:ppetruzalek%40yahoo.com.br> 



  _____  

Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2012.0.2178 / Banco de dados de vírus: 2433/5068 - Data de
Lançamento: 06/13/12



[As partes desta mensagem que não continham texto foram removidas]

Responder a