Mit den Analytischen Funktionen von Oracle lassen sich elegant tolle Dinge lösen. Ein Bsp. ist LAG siehe auch Doku: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions070.htm#SQLRF00652 Doch Vorsicht : LAG(spalte, 1) liefert den Nachfolger im ROWSET ! Das ist aber nicht immer der gesuchte Wert! Bei Lücken im Rowset (für ein Quartal gab es keine Werte) verschieben sich die mit LAG gelieferten Ergebnisse. Bsp: drop table fs_tst; create table fs_tst ( quartal number, hnr number, wert number ); insert into fs_tst values (20091, 10, 1); insert into fs_tst values (20092, 10, 2); -- Quartal 20093 fehlt insert into fs_tst values (20094, 10, 3); insert into fs_tst values (20091, 20, 4); insert into fs_tst values (20092, 20, 5); -- Quartal 20093 fehlt insert into fs_tst values (20094, 20, 6); insert into fs_tst values (20101, 10, 7); insert into fs_tst values (20102, 10, 8); insert into fs_tst values (20111, 10, 9); commit; select * from fs_tst; select quarta...