Hjælp til SQL
Jeg skal have hjælp til mit forum.Jeg har en db med bl.a. nedenstående 6 tabeller.
---bruger---
bruger_id
bruger_brugernavn
---gruppe_bruger---
gruppe_bruger_gruppe_id
gruppe_bruger_bruger_id
---gruppe---
gruppe_id
gruppe_navn
gruppe_rettighed
---gruppe_debat---
gruppe_debat_gruppe_id
gruppe_debat_debat_id
---debat---
debat_id
debat_bruger_id
debat_dato
---debatindlaeg---
debatindlaeg_id
debatindlaeg_debatid
debatindlaeg_dato
debatindlaeg_bruger_id
Den er opbygget på den måde at hver bruger, kan være medlem af flere grupper. Hver debat kan kan have tilknyttet mange debatindlaeg og være medlaem af en til mange grupper.
Jeg skal bruge 2 oversigtssider.
Først en hvor man får vist alle de gruppe en bruger er medlem af og de gruppe hvor brugeren har oprette et spørgsmål. Det er muligt at oprette en debat i en gruppe som man ikke selv er medlem af. På siden vil jeg også gerne have vist hvor mange debatter og indlaeg der er i hver kategori, men den skal kun tælle de debatter som brugeren har adgang til.
Jeg har fået den til at vise grupperne men den tæller ikke rigtigt i antallet af debatter. Mangler debatindlaeg.
SELECT gruppe_debat_gruppe_id, gruppe_navn, COUNT(debat_id) AS antalDebat FROM Gruppe_debat, Gruppe LEFT JOIN Gruppe_bruger ON gruppe_bruger_gruppe_id = gruppe_debat_gruppe_id INNER JOIN Debat ON debat_id = gruppe_debat_debat_id WHERE gruppe_debat_gruppe_id = gruppe_id AND (gruppe_bruger_bruger_id = 1 OR debat_bruger_id = 1) GROUP BY gruppe_debat_gruppe_id
Derefter skal jeg bruge en side hvor debatterne bliver vist. Det skal kun være de debatter som brugeren har adgang til. Jeg vil også gerne have vist datoen for der sidste debatindlaeg og hvem der har oprettet det.
Håber i kan hjælpe!