select mit "max" - funktioniert nicht

bibole42

Grünschnabel
windows 2000 - Oracle 9.2

Hallo,
habe folgendes Problem:
Tabelle sieht folgendermaßen aus:

vertragsid|erstellt_datum|beitragsjahr|betrag
100105|2003-07-12|2002|55,20
100793|2003-07-31|2002|123,96
100793|2004-06-08|2003|69,74
100793|2004-09-13|2003|27
100793|2004-10-18|2003|186,48
100793|2005-02-11|2002|140,72
100888|2004-12-01|2003|76,36

Ich möchte jetzt nur die Daten des Beitragsjahres 2002 und 2003 mit dem höchsten "erstellt_datum" für jede Vertragsid
also in diesem fall nur

100105|2003-07-12|2002|55,20
100793|2004-10-18|2003|186,48
100793|2005-02-11|2002|140,72
100888|2004-12-01|2003|76,36

Mit der "max" Funktion bekomme ich es nicht hin! :(
Hat jemand eine Idee? :rolleyes:

Vielen Dank im Voraus
 
Versuchs mal so, hab jetzt leider keine Möglichkeit das zu testen...

Code:
SELECT * 
FROM table t, (
   SELECT vertragsid, max( erstellt_datum ) bj , beitragsjahr
   FROM   tabelle
   GROUP  BY vertragsid, beitragsjahr
   ) st
WHERE t.vertragsid = st.vertragsid
AND   t.erstellt_datum = st.bj
AND   t.beitragsjahr = st.beitragsjahr;
 
Zurück