MySQL - Erweiterte Nested Set Abfrage
Uwe
- datenbank
Hallo!
Ich habe 3 Tabellen um Benutzer Gruppen zuzuweisen. Die Gruppentabelle wird durch ein Nested Set dargestellt. Ich suche eine Abfrage wie ich die Kind-Gruppen und die Anzahl seiner User der Gruppen finden kann denen ein Benutzer angehört, gegeben ist die userId.
Hier die 3 Tabellen
| table.User | | table.Relation | | table.Groups |
----------------- -------------------- --------------------------------
| Name | userId | | userId | groupId | | Name | groupId | lKey | rKey |
----------------- -------------------- --------------------------------
| Max | 1 | | 1 | 1 | | Grp1 | 1 | 1 | 10 |
| Klaus| 2 | | 2 | 2 | | Grp2 | 2 | 2 | 5 |
| Hans | 3 | | 2 | 4 | | Grp3 | 3 | 3 | 4 |
| Horst| 4 | | 3 | 3 | | Grp4 | 4 | 6 | 9 |
----------------- | 4 | 4 | | Grp5 | 5 | 7 | 8 |
-------------------- --------------------------------
Das Ergebnis für die jeweiligen Benutzer sollte dann so sein
Max: Grp2 (1 User), Grp3 (1 User), Grp4 (2 User)
Klaus: Grp3 (1 User), Grp5 (0 User)
Hans: -
Horst: Grp5 (0 User)
Ich habe bereits versucht ausgehend von diesem Tutorial mit LEFT JOINS zu arbeiten, bekomme aber nur MySQL-Fehler. Das war wohl eher "blind rumstochern" :(
Leider bin ich nicht sehr geübt in MySQL, wie müsste ich bei so einer Abfrage vorgehen?
Uwe