Oracle - CONNECT_BY_ISLEAF

janus23

Mitglied
Hallo,

ich arbeite derzeit mit Hierarchien in Oracle, und brauche eig. immer nur einen ganzen Ast. Also der, wo eig. CONNECT_BY_ISLEAF = 1 ist.
Leider habe ich eine Oracle 9 Datenbank, und dort funktioniert dieser Befehl noch nicht.

Gibt es da eine andere Möglichkeit dieses Problem zu lösen?
 
Hi,

gibt es in der 9er Version LEVEL? Wenn ja kann Du so die Tiefe ermittelt und das Maximum einer Kante ermitteln.
 
Ja level gibt es da auch schon.
Aber ich will ja immer den ganzen Pfad haben, weshalb ich sys_connect_by_path verwende.
Aber ausgegeben wird ja für jede Zeile einzeln:
A
A/B
A/B/C
A/B/C/D

Aber es kann ja auch vorkommen das ein Pfad kürzer ist, zb das er schon bei D/E zu Ende ist.

Ich versteh nicht ganz wie mir das Level dabei helfen soll^^
 
okay mit LEVEL kommst Du nicht weiter weil das verbindende Merkmal fehlt sorry für den Holzweg.

Hab hier sowas ähnliches gemacht, da habe ich den PFAD zerlegt und den letzten Schlüssel entfernt sprich
ein SUBSTR aus "A/B/C" -> "A/B" wird. Oder aus "A/B/C/D" "A/B/C" wird.

Dann habe ich ein Left Join gemacht (Pfad berechnet auf Pfad) und geschaut was übrig bleibt.


Ich hoffe damit kommst Du weiter!
 
Zurück