Просто используйте row_number()
:
select OJCUNO AS Item, OJPRRF as code ,OJFVDT as FromDate, OJLVDT as ToDate
from (select o.*,
row_number() over (partition by ojcuno order OJPRRF desc, OJLVDT desc) as seqnum
from M3FDBPRD.OPRICH o
) o
where seqnum = 1;
Ваш подход, использующий коррелированный подзапрос, сработал бы, если бы вы использовали правильные столбцы:
select OJCUNO AS Item,OJPRRF as code, OJFVDT as FromDate, OJLVDT as ToDate
from M3FDBPRD.OPRICH
where OJLVDT in ( Select max(OJLVDT) from OPRICH group by OJCUNO );