Hallo mySQL-Community!
Habe folgendes Problem bei einem Query in meiner Datenbank.
Es handelt es sich bei der Applikation um eine Art "Quizz"/Spiel.
Es gibt 1-n Kategorien (zB 1), dazu 1-n Subkategorien (zB 1.1) und dafür wieder beliebig viele Sub-Subkategorien (zB 1.1.1) in welchen sich dann die Fragen (zB. 1.1.1.1) befinden. Fragen können mit Werten (int) von 1-5 bewertet werden.
Mein Ziel ist es einen Query zu schreiben, der alle Ebenen1-Objekte anzeigt und ihren kumulierten Wert (SUM()) aller Fragen, die sich in dieser Kategorie (Ebene1) befinden.
Versucht habe ich das zuerst mit einem FULL JOIN. Result set zeigt: Nur die erste Kategorie und die Summe ALLER Fragen!
Query:
Select
ebene1.e1id,
Sum(bewertung.wert) punkte,
ebene1.e1bez,
ebene1.pkte
From
bewertung Join
erhebung On bewertung.eid = erhebung.eid left Join
frage On bewertung.frid = frage.frid left Join
ebene3 On frage.e3id = ebene3.e3id left Join
ebene2 On ebene3.e2id = ebene2.e2id left Join
ebene1 On ebene2.e1id = ebene1.e1id
group by e1id
Dann mit Subselect, Resultat: Es werden alle Ebene1-Objekte angezeigt und in der zweiten Column wieder der Gesamtwert ALLER Fragen aus allen Ebenen.
Wie kann ich in dem Query explizit zwischen Ebenen differenzieren?
Bin dankbar für jede Hilfe.
DB-Schema:
http://image-upload.de/get/0IbOFa/a9532f9408.jpg
MFG MM