title image


Smiley Art verkettete Liste aus Tabelle ermitteln
Hallo,



benutze eine Oracle-DB (9er Version)



Mein Problem:

ich habe eine Tabelle. In dieser Tabelle wird der Durchlauf von Fahrzeugen gespeichert. Es gibt also immer ein Feld 'von' und ein Feld 'nach' und noch andere Felder. Die erste Station eines Fahrzeugs ist immer die gleiche und bekannt.

Bsp:



FzgNr von nach

----------------

1 a b

1 b c

1 c d

2 a c

2 c e



Ich versuche nun, den kompletten Durchlauf von Fahrzeugen mit einem SQL oder einem PLSQL Programm zu ermitteln.

z.B. möchte ich als Ergebnis:

1 a b c d

2 a c e f

es ergibt sich also so ne Art verkettete Liste.

Mein Ansatz ist der:

ich habe mir ne PLSQL-Prozedur geschrieben. In dieser habe ich mir nen Cursor

gebaut. Darin ermittle ich den Nachfolger der ersten Station (a) und speichere mir diesen in eine Variable. Dann habe ich noch nen Cursor, der diesen gespeicherten Nachfolger benutzt, um dessen Nachfolger zu ermitteln. Das kann ich jetzt natürlich immer weiter so fortsetzen.

Das Prinzip funktioniert auch. Mein Problem ist, dass manche Fahrzeuge eine Station mehrmals anfahren können und ich somit bei meiner Auswertung doppelte Sätze erhalte.



Hat jemand ne Idee, wie ich die Auswertung besser machen könnte (da lange Laufzeit bei Cursorverschachtelung) und wie ich die doppelten Stationen in den Griff bekomme??






Gruß Dieselwiesel

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: