Select - maior registro
Boa tarde galera.
Fiz um select que tras 4 informações do banco (matricula, nome, data e hora)
SELECT
QD1_MAT,
RA_NOME,
QD1_DTBAIX AS DATA,
QD1_HRBAIX
FROM QD1010 QD1
INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*'
ORDER BY QD1_DTBAIX, QD1_HRBAIX
Retornando os seguintes registros:
/monthly_2020_12/image.png.d89df981a1ec99f8ee0e5f22d8b720fd.png" />
Preciso retornar somente as linhas em amarelo, que seria a seguinte condição.
Caso tiver alguma matricula igual, trazer somente o registro com a maior data, junto com seu respectivo horário.
O mais próximo que consegui chegar foi utilizando o MAX para data e hora, e agrupando o restante dos campos.
SELECT QD1_MAT,RA_NOME,MAX(DATA), MAX(QD1_HRBAIX) FROM (
SELECT
QD1_MAT,
RA_NOME,
QD1_DTBAIX AS DATA,
QD1_HRBAIX
FROM QD1010 QD1
INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*'
)
GROUP BY QD1_MAT,RA_NOME
Porém na hora ele não pega o valor correspondente e sim o valor máximo.
/monthly_2020_12/image.png.20af610ce4a25198e9fde5d41c3479f6.png" />
Ai estou travado nessa parte, como faço para trazer a hora corresponde sem o restante dos registros?Discussão (3)
Carregando comentários...