Hallo!
Ich suche Hilfe bei einer Datenbankabfrage und stehe ziemlich auf dem Schlauch. Vielleicht kann mich ja jemand da runter holen :)
Zunächst hier meine Datenbank-Struktur
╔════════════════════╗
║ table.groups ║
╠════════════════════╣
┌─────◄║ id ║►─────┐
│ ╚════════════════════╝ │
│ ▼ │
│ ┌───────────────┘ │
╔═══════════════════════╗ │ │ ╔════════════════════════╗ │ ╔════════════════════════╗
║ table.rel_groups_user ║ │ │ ║table.rel_groups_modules║ │ ║ table.rel_groups_pages ║
╠═══════════════════╦═══╣ │ │ ╠════════════════════╦═══╣ │ ╠════════════════════╦═══╣
║ groupID ║ F ║◄─┘ └─►║ groupID ║ F ║ └─►║ groupID ║ F ║
╠═══════════════════╬═══╣ ╠════════════════════╬═══╣ ╠════════════════════╬═══╣
║ userID ║ F ║◄─┐ ┌─►║ moduleID ║ F ║ ┌─►║ pageID ║ F ║
╚═══════════════════╩═══╝ │ │ ╚════════════════════╩═══╝ │ ╚════════════════════╩═══╝
│ │ │
│ │ │
╔═══════════════════════╗ │ │ ╔════════════════════════╗ │ ╔════════════════════════╗
║ table.user ║ │ │ ║ table.modules ║ │ ║ table.pages ║
╠═══════════════════════╣ │ │ ╠════════════════════════╣ │ ╠════════════════════════╣
║ id ║►─┘ └─◄║ id ║►─┐ └─◄║ id ║
╚═══════════════════════╝ ╚════════════════════════╝ │ ╚════════════════════════╝
│ ▼
│ │
╔════════════════════════╗ │ │
║table.rel_modules_pages ║ │ │
╠════════════════════╦═══╣ │ │
║ moduleID ║ F ║◄─┘ │
╠════════════════════╬═══╣ │
║ pageID ║ F ║◄────────────────────┘
╚════════════════════╩═══╝
Die Felder die mit "F" gekennzeichnet sind benutzen Fremdschlüssel. Der Bezug ist durch die Pfeile dargestellt.
Nun zu meinem Problem. Gegeben sei mir eine Benutzer-ID und eine Seiten-ID.
Ich suche eine Abfrage die mir alle Gruppen-IDs des Benutzers gibt, die Seiten-Daten falls zur Gruppe gehörend (im Beispiel blöderweise auch nur die ID) und alle Module die zur Seite und zur Gruppe gehören.
Ich hoffe ich konnte mich verständlich ausdrücken.
Wie muss ich hier vorgehen? Da solche "komplizierten" Datenbankabfragen nicht unbedingt mein Fachgebiet sind, bin ich für jeden Hinweis dankbar.
MfG, Uwe