Interbase/firebird 1.5 join Problem

Tabelle(Zeit):
id,Startzeit,Endzeit

Tabelle(Zeitkorrektur):
id,vorgangnr,alteStartzt,neueStartzt,alteEndzt,neueEndzt

Abfrage:
select * from Zeit …

und dann eine left join verknüpfung von id zu id.

Problem:
‚id‘ hat einzig artigen Wert.
Sollten aber die Werte z.B. in der Spalte mit der ‚id‘=12 3mal geändert worden sein, gibt die DB mir auch 3 Zeilen mit der jeweiligen Änderung aus.
Es soll aber immer nur die Zeile mit der LETZTEN Änderung ausgegeben werden(also die mit der höchsten ‚vorgangnr‘).

Sollten aber die Werte z.B. in der Spalte mit der ‚id‘=12 3mal
geändert worden sein, gibt die DB mir auch 3 Zeilen mit der
jeweiligen Änderung aus.
Es soll aber immer nur die Zeile mit der LETZTEN Änderung
ausgegeben werden(also die mit der höchsten ‚vorgangnr‘).

Versuchs doch mal mit:

WHERE id = MAX(id)