Fórum Duvida data max #600034

25/01/2019

0

SQL

Galera boa tarde,preciso da data maior de um Demetriano período, só que não posso sumir os outros períodos
exemplo

período inico_das ferias Final_das_ferias
1 30/12/19 13/01/20 desse também
2 31/12/18 11/01/19 preciso desse
2 31/12/18 10/01/19
2 31/12/18 09/01/19
2 31/12/18 08/01/19
2 31/12/18 07/01/19


sql que estou usando


SELECT X.*FROM
(SELECT CODIGO_EMPRESA,--PK6
CASE
WHEN CODIGO_EMPRESA = ''''0001''''
THEN ''''PREF.MUN.BELO HORIZONTE''''
WHEN CODIGO_EMPRESA = ''''0098''''
THEN ''''PREF.MUN.BH CONTRATOS''''
END AS EMPRESA,
''''ADM DIRETA'''' AS AGRUPAMENTO_EMPRESA,
TIPO_CONTRATO, --PK5
CODIGO_CONTRATO, --pk1
DT_INI_AQUISICAO, --PK2 novo 27/12/2016
TIPO_FERIAS, --PK3 novo 27/12/2016
PERIODO, --PK4 novo 27/12/2016
DT_INI_GOZO,
CASE
WHEN STATUS_CONFIRMACAO <>''''5''''
AND (DT_FIM_GOZO = DT.DATA_DIA)
THEN DT.DATA_DIA
WHEN STATUS_CONFIRMACAO = ''''5''''
THEN DT.DATA_DIA
END DT_FIM_GOZO,
SYSDATE AS DT_SAIU_ARTE,
''''INCLUIR'''' AS TIPO ,
RHFERI_FERIAS.DT_ULT_ALTER_USUA
FROM RHFERI_FERIAS,
RHTABS_DATAS DT
WHERE CODIGO_EMPRESA IN (''''0001'''',''''0098'''')
AND TIPO_CONTRATO = ''''0001''''
AND DT_INI_GOZO IS NOT NULL
AND DT_FIM_GOZO IS NOT NULL
AND DT.DATA_DIA BETWEEN DT_INI_GOZO AND DT_RETORNO-1
AND STATUS_CONFIRMACAO IN (''''1'''',''''5'''')
AND DT.DATA_DIA NOT IN
(SELECT F.DATA_DIA
FROM RHPARM_CALEND_DT F
WHERE F.CODIGO = ''''0001''''
AND DT.DATA_DIA = F.DATA_DIA
)
AND EXISTS
(SELECT Y.CODIGO_EMPRESA,
Y.TIPO_CONTRATO,
Y.CODIGO_CONTRATO--Y.*
FROM RHFERI_FERIAS Y
WHERE Y.DT_INI_GOZO IS NOT NULL
AND Y.DT_FIM_GOZO IS NOT NULL
AND Y.CODIGO_EMPRESA IN (''''0001'''',''''0098'''')
AND RHFERI_FERIAS.CODIGO_EMPRESA = Y.CODIGO_EMPRESA
AND RHFERI_FERIAS.TIPO_CONTRATO = Y.TIPO_CONTRATO
AND RHFERI_FERIAS.CODIGO_CONTRATO = Y.CODIGO_CONTRATO
AND RHFERI_FERIAS.DT_INI_AQUISICAO = Y.DT_INI_AQUISICAO
AND RHFERI_FERIAS.DT_FIM_AQUISICAO = Y.DT_FIM_AQUISICAO
AND RHFERI_FERIAS.status_confirmacao IN(''''1'''',''''5'''')
--SEMPRE ACOMPANHAR OS FECHAMENTOS DO IFPONTO
AND RHFERI_FERIAS.DT_INI_GOZO >= TO_DATE(''''01/07/2018 00:00:01'''', ''''DD/MM/YYYY HH24:MI:SS'''')
--CARGA DIARIA
/*AND Y.DT_ULT_ALTER_USUA BETWEEN TO_DATE(''''16/01/2019 00:00:01'''', ''''DD/MM/YYYY HH24:MI:SS'''')
AND TO_DATE(''''16/01/2019 23:59:59'''', ''''DD/MM/YYYY HH24:MI:SS'''')*/
AND RHFERI_FERIAS.codigo_contrato = ''''000000000883291''''
)
--group by dt.descricao
--ORDER BY RHFERI_FERIAS.CODIGO_CONTRATO;
)X
WHERE DT_FIM_GOZO IS NOT NULL


se alguém conseguir me ajudar ficarei grato
Gabriel Borges

Gabriel Borges

Responder

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

Aceitar