I'm trying to select max(date) out of rows with duplicated ID with the following SQL
SELECT
ER.ID_PROC_VERSION,
P.ID || ' / ' || PV.COD_PROCEDIMIENTO || ' / ' || P.COD_SIA COD_GC_IPSC_SIA,
PV.DENOMINACION DENOMINACION,
ER.TIPO_ENVIO TIPO_ENVIO,
ER.RESULTADO_ENVIO RESULTADO_ENVIO,
ER.FH_ENVIO FH_ENVIO
FROM ENVIO_REC ER
INNER JOIN PROCEDIMIENTO_VERSION PV
ON ER.ID_PROC_VERSION = PV.ID
INNER JOIN PROCEDIMIENTO P
ON PV.ID_PROCEDIMIENTO = P.ID
WHERE
(ER.ID_PROC_VERSION, ER.FH_ENVIO) IN (SELECT ID_PROC_VERSION, MAX(FH_ENVIO) FROM ENVIO_REC GROUP BY ID_PROC_VERSION)
The problem is that the rows with duplicated ID are getting removed instead of getting just the one with the max. date. What do you think I could improve? Thanks for your time