Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Morpheus#2005

Cálculo utilizando Max

Recommended Posts

Bom dia!

 

Eu precisava calcular alguns dados da seguinte forma :

 

Linha -- Data_Rec

 

123456 -- 01/02/2013

123456 -- 01/04/2013

123456 -- 01/05/2013

789000 -- 01/02/2013

789000 -- 01/04/2013

789000 -- 01/06/2013

010203 -- 12/12/2012

010203 -- 10/11/2012

 

Eu precisava trazer o último registro dos últimos 6 meses desde a data atual.

 

Nesse caso eu traria os registros abaixo utilizando o MAX.

 

 

123456 -- 01/05/2013

789000 -- 01/06/2013

789000 -- 12/12/2012

 

 

Porem se o registro constar dentro dos últimos 6 meses eu tenho que colocar um aviso de "NOK".

 

 

 

Select
Distinct linha,
case when
MAX(to_char(Data_Rec,'yyyymm')) < TO_CHAR(ADD_MONTHS(sysdate,-6),'yyyymm')
then 'NOK' else 'OK' end AS Elegiveis
From V_Pagamentos
where Linha IN
(
123456,
789000,
010203
)

 

 

Mas o resultado dessa query acima esta sendo assim :

 

 

Linha -- Data_Rec --- Elegiveis

 

123456 -- 01/02/2013 --- nao

123456 -- 01/04/2013 --- nao

123456 -- 01/05/2013 --- nao

789000 -- 01/02/2013 --- nao

789000 -- 01/04/2013 --- nao

789000 -- 01/06/2013 --- nao

010203 -- 12/12/2012 --- sim

010203 -- 10/11/2012 --- sim

 

 

Sendo que eu preciso que traga esse resultado:

 

 

Linha -- Data_Rec --- Elegiveis

 

123456 -- 01/05/2013 --- nao

789000 -- 01/06/2013 --- nao

010203 -- 10/11/2012 --- sim

 

 

Desde já agradeço a atenção e ajuda de todos...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

--max´s

select linha,max(data) datax
from tabela
group by linha

--tratando os "velhos"

 

 

select linha,datax,(case when datax < (sysdate-180) then 'velho' else 'novo' end) status
from
(select linha,max(data) datax
 from tabela
 group by linha) virtual

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.