Innerhalb dieses System gibt es verschiedene Kategorien, für die die Benutzer Rechte zugewiesen bekommen müssen, um zum Beispiel Einträge zu erstellen.
Das Rechtesystem ist so aufgebaut, dass es eine Benutzer-Tabelle (Users) und eine Gruppen-Tabelle (Groups) gibt.
Nun können entweder den Benutzern direkt die Rechte für eine Kategorie zugewiesen werden, und zwar in der Tabelle "UsersCats" (Spalten: user_id, cat_id) oder über die Gruppen.
Die Gruppen der Benutzer werden in der Tabelle "UsersGroups" (Spalten: user_id, group_id) gespeichert und die Kategorien der Gruppen ähnlich wie bei den Benutzern in der Tabelle "GroupsCats" (Spalten: group_id, cat_id).
Das Abrufen der Rechte etc. stellt auch kein Problem dar, da ich dort prüfe, ob der Benutzer entweder direkten Zugang zu einer Kategorie besitzt oder eine seiner Gruppen Zugang besitzt.
Nun habe ich aber vor, bei einigen Kategorien die Benutzer dieser Kategorien in einer Übersicht anzuzeigen, also alle die, die Zugang zu der jeweiligen Kategorie besitzen.
Dabei sollen dann alle Benutzer aufgelistet werden, die entweder direkten Zugang besitzen oder in einer Gruppe mit Zugang Mitglied sind, ohne dass ein Benutzer doppelt vorkommt.
Derzeit habe ich eine etwas unpraktische Lösung, die zudem nicht richtig funktioniert.
Da ich mich noch nicht allzu lange mit JOINS beschäftige und in meinem Fall der JOIN Befehl sehr komplex ist (wenn überhaupt in einem möglich) wollte ich mal fragen, ob vielleicht jemand von euch weiter weiß.
Ich habe zwar selbst schon ein paar Versuche angestellt, aber funktioniert hat es nicht
Ich würde mich über ein paar Hilfestellungen freuen, vielleicht habt ihr ja auch noch andere Ideen