Tach!
Wie ziehe ich denn die Summe einer Gruppe?
SELECT SUM(feldname) ... FROM ... GROUP BY ... so wie du das schon hast.
Weil, nachfolgendes funktioniert nicht, sondern ergibt ebenfalls die zu hohen Werte:
Dann lass das GROUP BY und das SUM() weg und zähl mal händisch. Wenn das nicht stimmt oder du zu viele Datensätze siehst, dann hast du zu viel selektiert, nicht richtig verknüpft oder zu wenig eingeschränkt.
Ein anderer Vorschlag ist, die Summe in einer correlated Subquery zu bilden, besonders wenn das der einzige Wert ist, der aus den gejointen Tabellen genommen/gebildet werden soll. Damit umgeht man auch das GROUP-BY-Problem, dass man keine anderen Felder selektieren kann also die dort angegebenen, ohne eventuell Probleme zu bekommen.
Sorry, diesen Satz habe ich nicht verstanden.
Was genau hast du nicht verstanden? Wie man mit einer correlated Subquery zur Lösung kommt oder was das Problem beim GROUP-BY ist, wenn man mehr Felder selektiert als in der GROUP-BY-Klausel angegeben sind?
Siehe EN-Wikipedia-Artikel Correlated subquery, das letzte Beispiel im ersten Teil (vor Optimizing ...)
dedlfix.