Hallo alle zusammen,
ich versuche momentan ein SQL Statement zu entwickeln welches mir Daten zu einem Unternehmen, einer Abteilung, eines Teams in einer Abteilung, oder sogar eines Arbeitnehmers innerhalb eines Teams in einer Baumstruktur ausgibt.
um es ein wenig zu veranschaulichen versuche ich nachfolgend mal die Komplette Struktur zu skizzieren.
Unternehmen
Abt A Abt B AbtC Abt D
Team A Team C Team E Team G
Gruppe A Gruppe C Gruppe D Gruppe F
User 1 User 6 User 3 User 8
User 5 User 2 User 7
Gruppe B Gruppe E
User 11 User 15
Team B Team D Team F Team H
Gruppe G Gruppe J ... ...
User 21 ...
User 39
So sieht das ganze ungefähr aus. In der Tabelle hat jeder Knoten und Jedes Blatt eine Nummer und in einer 2 Spalte die Nummer des Knotens vor ihm sofern es einen gibt. Nun kann man ja mit CONNECT BY und START WITH schon einiges anfangen, allerdings bin ich noch nicht auf den Trichter gekommen wie ich immer ganz oben anfangen kann.
Folgendes sollte das Ergebnis sein wenn ich die Nummer eines Users eingebe z.B 123 (User 15):
Unternehmen
Abt A
Abt B
Abt C
Team E
Gruppe D
Gruppe E
User 15
Team F
Abt D
Bei einem Team sollte es dann so aussehen
z.B. 5489 (Team G)
Unternehmen
Abt A
Abt B
Abt C
Abt D
Team G
Gruppe F
User 8
Team H
und so weiter und sofort. Sprich ich möchte eine X-Beliebige Nummer eingeben und er soll mir immer die ganze Struktur zeigen allerdings sollen alle Knoten die auf dem Weg zu dieser Nummer liegen in der späteren Anzeige auch geöffnet sein. Das nächste Problem ist das die Struktur nach unten hin aufgefächert werden soll aber eben auch nach oben wenn man eine Nummer wählt hinter der sich noch Zweige oder Blätter verbergen und vor der noch Knoten liegen.
Puh ich hoffe ich konnte mich einigermaßen verständlich machen. Hab heute schon so lange daran überlegt das ich langsam kirre werde
Am einfachsten erklärt ist das ganze wenn man sich den Microsoft Explorer ansieht. Genau das möchte ich erreichen
MfG
NYBen
ich versuche momentan ein SQL Statement zu entwickeln welches mir Daten zu einem Unternehmen, einer Abteilung, eines Teams in einer Abteilung, oder sogar eines Arbeitnehmers innerhalb eines Teams in einer Baumstruktur ausgibt.
um es ein wenig zu veranschaulichen versuche ich nachfolgend mal die Komplette Struktur zu skizzieren.
Unternehmen
Abt A Abt B AbtC Abt D
Team A Team C Team E Team G
Gruppe A Gruppe C Gruppe D Gruppe F
User 1 User 6 User 3 User 8
User 5 User 2 User 7
Gruppe B Gruppe E
User 11 User 15
Team B Team D Team F Team H
Gruppe G Gruppe J ... ...
User 21 ...
User 39
So sieht das ganze ungefähr aus. In der Tabelle hat jeder Knoten und Jedes Blatt eine Nummer und in einer 2 Spalte die Nummer des Knotens vor ihm sofern es einen gibt. Nun kann man ja mit CONNECT BY und START WITH schon einiges anfangen, allerdings bin ich noch nicht auf den Trichter gekommen wie ich immer ganz oben anfangen kann.
Folgendes sollte das Ergebnis sein wenn ich die Nummer eines Users eingebe z.B 123 (User 15):
Unternehmen
Abt A
Abt B
Abt C
Team E
Gruppe D
Gruppe E
User 15
Team F
Abt D
Bei einem Team sollte es dann so aussehen
z.B. 5489 (Team G)
Unternehmen
Abt A
Abt B
Abt C
Abt D
Team G
Gruppe F
User 8
Team H
und so weiter und sofort. Sprich ich möchte eine X-Beliebige Nummer eingeben und er soll mir immer die ganze Struktur zeigen allerdings sollen alle Knoten die auf dem Weg zu dieser Nummer liegen in der späteren Anzeige auch geöffnet sein. Das nächste Problem ist das die Struktur nach unten hin aufgefächert werden soll aber eben auch nach oben wenn man eine Nummer wählt hinter der sich noch Zweige oder Blätter verbergen und vor der noch Knoten liegen.
Puh ich hoffe ich konnte mich einigermaßen verständlich machen. Hab heute schon so lange daran überlegt das ich langsam kirre werde
Am einfachsten erklärt ist das ganze wenn man sich den Microsoft Explorer ansieht. Genau das möchte ich erreichen
MfG
NYBen
Comment