[SQL-Allg.] Problem mit Abfrage und SUM

K

KingB

Ich habe ein kleines Problem mit einer SQL-Abfrage.


Die Datenbank:
Main Table:
Primary Key = ID;
Event1 Table:
Foreign Key: MainID;
Foreign Key: GoodEventID;
Event2 Table:
Foreign Key: MainID;
Foreign Key: BadEventID;
GoodEvent Table:
PrimaryKey: ID;
Int: Users;
BadEvent Table:
PrimaryKey: ID;
Int: Users;

Ich möchte nun möglichst in einem Query alle Teilnehmer
der Good und Bad Events abrufen.

Hier meine SQL-Syntax:

SELECT DISTINCT m.ID, SUM(g.Users), SUM(b.Users) FROM Main m, Event1 e, Event2 f, GoodEvent g, BadEvent b WHERE m.ID = e.MainID AND m.ID = f.MainID AND g.ID = e.GoodEventID AND b.ID = f.BadEventID GROUP BY m.ID;

Das Problem dabei ist jedoch, dass nicht die richtige Gesamtzahlen rauskommen.
Geb ich jeweils nur 1 Summe aus, so erhalte ich z.B.: 4 + 1
Lass ich nun beide ausführen bekomme ich: 4 + 4

Wie muss ich meine SQL-Syntax ändern, dass ich das richtige Ergebnis bekomme
oder geht es nur über den Umweg von 2 SQL-Abfragen?
 
Zuletzt bearbeitet von einem Moderator:
ich bin mir nicht ganz sicher, aber es müsste mit weiteren GROUP BY Statements gehen GROUP BY m.ID, g.Users, m.Users;
 
Zurück