rekursiver selfjoin

Aki66

Neuer Benutzer
Beiträge
2
Hallo,

erstmal ein Lob an das tolle Forum. Ich habe in der letzten Zeit einiges Hilfreiche hier gefunden!
Aktuell suche ich den richtigen Ansatz für ein Problem wo ich eigentlich denke, das es immer wieder vorkommen sollte, ich habe aber noch nichts passendes gefunden. Das kann auch gut daran liegen, das ich mit den falschen Ansätzen suche.
Kurze info zu mir. Ich bin Programmierer habe aber mit Datenbank nicht viel zu tun und mit mysql eigentlich erst seid kurzen im Zusammenhang mit einem privaten Projekt.


Jetzt zur Problemstellung:
In einer Tabelle habe ich Personen definiert in einer anderen Gruppen. Über n:m Beziehung können Personen Mitglied in mehreren Gruppen sein und jede Gruppe kann beliebig viele Mitglieder haben. So weit so einfach.
Jetzt soll aber eine Gruppe auch Mitglied in einer anderen sein können. Das heißt Gruppe X besteht z.B aus dem Mitgliedern der Gruppe A und B und zusätzlich aus mehren einzel Personen. Gruppe a wiederum aus Gruppe C,D,E und einzelPersonen und so weiter. Dabei soll die Verschachtelungsebenen beliebig tief sein. Ich habe das jetzt mit einer n:m Beziehung der Tabelle Gruppen auf sich selbst definiert und von der Erfassung passt auch die Logik. Was ich jetzt suche ist die richtige Abfrage wie ich alle Mitglieder der Gruppe X auslese inkl. der Information über welche Subgruppe sie Mitglied sind? Eventuell ist der Ansatz auch falsch, dann sagt mir bitte wies es besser ginge.
Ich hoffe ich habe das einigemassen anschaulich beschrieb, wenn nicht einfach nachfragen.
Vielen Dank schonmal!!!

Gruß Aki
 
Werbung:
CTE wäre noch so ein Stichwort. Das müsste in sehr aktuellem MySQL gehen aber ist in jedem Fall nicht ganz so trivial. Du musst nämlich auch Rekursion verhindern (auch das geht, einfach mal testen).
 
Danke für die antworten.

@akretschmer : Ja rekursion ist das Stichwort, habe ich ja auch schon im Titel des Threads :). Damit gesucht habe ich bei google schon, aber in Bezug auf mySQL noch nicht das passende gefunden.
@ukulele : CTE werde ich mich mal einlesen, danke!

Gruß Aki
 
Werbung:
Zurück
Oben