Als je de clob hasht, kun je deze in een subquery gebruiken om de max rowid te pakken voor elke eventid_nbr met dezelfde clob-hashwaarde. Dan filter je gewoon je relation_two-tabel in de waar-clausule.
SELECT EVENTID_NBR, INPUT_ARGS
FROM RELATION_ONE, RELATION_TWO
WHERE RELATION_ONE.LOGID_NBR = RELATION_TWO.LOGID_NBR AND
EVENTID_NBR BETWEEN 143 AND 192 AND
EVENTID_NBR != 172 AND SYSDATE - 7 >= RELATION_ONE.LAST_UPDATED
AND (RELATION_TWO.EVENTID_NBR, RELATION_TWO.ROWID) IN
(SELECT DISTINCT EVENTID_NBR,
MAX(ROWID) OVER (PARTITION BY EVENTID_NBR, DBMS_HASH(INPUT_ARGS,3))
FROM RELATION_TWO);
De 3 in de HASH gespecificeerde SHA, maar je kunt ook MD4 (1) of MD5 (2) gebruiken als je wilt.
Ik denk dat dit erg traag kan zijn als je veel rijen in de RELATION_TWO tabel hebt en ik weet zeker dat dit geschreven kan worden om beter te presteren, maar het concept is goed.