Fórum SQL Buscar ultima data #597440

27/09/2018

0

SQL

Boa tarde pessoal

Possuo as informações conforme tabela abaixo:

DATA ESTOQUE ID
20180927 149,000 1304
20180926 149,000 1304
20180925 151,000 1304
20180924 152,000 1304
20180923 155,000 1304

Preciso pegar a primeira data onde o estoque for menor que o do dia anterior e caso não seja cravar a ultima data onde o estoque era. No caso acima seria pegar a data do dia 20180925.

Inicialmente tento com CASE WHEN mas só consigo trazer quando o estoque de hoje é menor que o de ontem, quando é igual ao de ontem não consigo buscar a data de dias para trás

Vocês podem me auxiliar?
Cassio

Cassio

Responder

Post mais votado

27/09/2018

Poderia ser algo assim?

Pelo que entendi a primeira data onde o estoque é menor que o do dia anterior, o resultado seria 20180924 e não 20180925


SELECT MIN(PERIODO)
FROM (SELECT TO_DATE(A.DT_PERIODO, 'YYYYMMDD') PERIODO,
A.ID_PRODUTO,
A.ESTOQUE,
LAG(TO_DATE(A.DT_PERIODO, 'YYYYMMDD'), 1) OVER(ORDER BY TO_DATE(A.DT_PERIODO, 'YYYYMMDD')) AS PERIODO_ANTERIOR,
LAG(A.ESTOQUE, 1) OVER(ORDER BY TO_DATE(A.DT_PERIODO, 'YYYYMMDD')) AS QT_PERIODO_ANTERIOR
FROM TB_TESTE A
ORDER BY 1 DESC) SUB
WHERE SUB.QT_PERIODO_ANTERIOR > SUB.ESTOQUE

Marcio Saraiva

Marcio Saraiva
Responder

Gostei + 2

Mais Posts

27/09/2018

Alex Lekao

Oi Cassio, boa tarde!!!

Vamos ver se consigo te ajudar.

Vc esta usando qual banco de dados?

Eu estou pensando em vc utilizar o Outer Apply, mas estou achando meio estranho a necessidade.

SELECT
   ID,
   ESTOQUE,
   DATA,
   PRD2.ULTDT
FROM PRODUTOS AS P1
OUTER APPLY (SELECT
                               ID AS ID2,
                               ESTOQUE AS EST2,
                               DATA AS ULTDT
                            FROM PRODUTOS AS P2
                            WHERE P2.ID = P1.ID) AS PRD2
WHERE P1.ESTOQUE < PRD.ESTOQUE


Não sei te ajudará, mas pensei em algo deste tipo, possivelmente não devo ter entendido bem o que vc precisa.

Qualquer coisa, vai colocando o que conseguiu ou compatilhe o codigo e resultado e vamos tentando te ajudar.

Atenciosamente,
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar