Duvida data max
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
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
Curtidas 0