Hallo,
ich habe folgende Tabellen:
In der Sites Tabelle sind alle verfügbaren Seiten festgehalten und dieser über die SitesFunctions bestimmte API-Funktionen in der Functions zugeordnet.
Der Plan ist es, allen Verfügbaren Seiten gewisse Funktionen zuzuordnen.
Dann verknüpfe ich eine UserID mit einer Seite und diese hat dann Zugriff auf die Seite und die dafür benötigten API-Funktionen.
Mein Problem ist es nun, eine SQL Abfrage so zu bauen, dass ich nur eine UserID angeben muss, und alle Funktionen zurück bekomme, auf die der Nutzer über irgendeine Seite Zugriff hat.
Beispielhaft hier mal die DB Sites
Ich habe bis jetzt folgenden Join zusammen gebaut, welche nur zum Teil funktioniert:
Leider ist da noch das Problem, wenn ich einem Nutzer nun die Berechtigung auf die Seite mit der ID 0 oder z.B. 3 gebe, dann bekommt dieser nicht die darunter liegenden Seite zugeordnettr
(Im Screenshot hier wird das etwas genauer was ich meine)
Mit dem bisschen SQL von oben sind meine Kenntnisse da auch leider schon am Ende.
Ich würde nun Anfragen, ob z.B. das Feld Sites.link NULL ist und dann davon die pkSiteID nehmen und alle Seite mit der ParentID = pkSiteID hinzufügen, aber wie ich das in SQL umsetze, pffffffff
Danke
Grüße
Logan517
ich habe folgende Tabellen:
In der Sites Tabelle sind alle verfügbaren Seiten festgehalten und dieser über die SitesFunctions bestimmte API-Funktionen in der Functions zugeordnet.
Der Plan ist es, allen Verfügbaren Seiten gewisse Funktionen zuzuordnen.
Dann verknüpfe ich eine UserID mit einer Seite und diese hat dann Zugriff auf die Seite und die dafür benötigten API-Funktionen.
Mein Problem ist es nun, eine SQL Abfrage so zu bauen, dass ich nur eine UserID angeben muss, und alle Funktionen zurück bekomme, auf die der Nutzer über irgendeine Seite Zugriff hat.
Beispielhaft hier mal die DB Sites
Ich habe bis jetzt folgenden Join zusammen gebaut, welche nur zum Teil funktioniert:
Code:
SELECT *
FROM Users as U
LEFT JOIN Sites AS S
ON S.pkSiteID = U.fkSiteID
OR S.ParentID = U.fkSiteID
LEFT JOIN SitesFunctions as SF
ON SF.fkSiteID = S.pkSiteID
LEFT JOIN Functions as F
ON F.pkFuncID = SF.fkFuncID
WHERE pkBenID = '215'
Leider ist da noch das Problem, wenn ich einem Nutzer nun die Berechtigung auf die Seite mit der ID 0 oder z.B. 3 gebe, dann bekommt dieser nicht die darunter liegenden Seite zugeordnettr
(Im Screenshot hier wird das etwas genauer was ich meine)
Mit dem bisschen SQL von oben sind meine Kenntnisse da auch leider schon am Ende.
Ich würde nun Anfragen, ob z.B. das Feld Sites.link NULL ist und dann davon die pkSiteID nehmen und alle Seite mit der ParentID = pkSiteID hinzufügen, aber wie ich das in SQL umsetze, pffffffff
Danke
Grüße
Logan517