Den aktuellsten Satz kann man nur an Hand der Daten selbst feststellen, als z.B. Datum/Zeit, Timestamp oder Zähler.

Ab V5 kann man im Select die Anzahl Sätze bestimmen (vorher leider nicht):

select .... from datei a where key1=...
and Zeit = (select max(Zeit) from datei b where a.key1 = b.key1)
fetch first 1 row

Ob Fetch allerdings auch im subselect funktioniert, wage ich zu bezweifeln.

Wenn der zu selektierende Wert in allen doppelten Schlüsseln identisch ist, kannst du auch noch mit "SELECT DISTINCT ..." im Subselect arbeiten.

Ansonsten gehts halt nur noch per Programm !