Hallo,
ich habe schon seit längerem ein Problem bei einer meiner Abfragen, und komme selbst nicht auf die Lösung. Ich hoffe, dass mir hier jemand helfen kann.
Ich habe 3 Tabellen:
- User: Enthält allgemeine Userinformationen
- Konto: Enthält Kontoinformationen für die einzelnen User
- Zukauf: Enthält zugekaufte Kontingente der einzelnen User
Die Tabellen sind folgendermaßen aufgebaut (nur die relevanten Spalten):
Ich benötige einen SQL Befehl, der im Prinzip für jeden User die Werte in zukauf.remain addiert und anzeigt.
Das funktioniert auch sehr gut, nur die Sortierung in meinem SQL-Befehl funktioniert leider nicht. Dies ist aber sehr wichtig.
Hier das Statement:
Ich weiß, dass das Sortieren aufgrund des GROUP BY nicht funktioniert, allerdings weiß ich nicht, wie ich das sonst lösen sollte. Kann mir jemand helfen??
ich habe schon seit längerem ein Problem bei einer meiner Abfragen, und komme selbst nicht auf die Lösung. Ich hoffe, dass mir hier jemand helfen kann.
Ich habe 3 Tabellen:
- User: Enthält allgemeine Userinformationen
- Konto: Enthält Kontoinformationen für die einzelnen User
- Zukauf: Enthält zugekaufte Kontingente der einzelnen User
Die Tabellen sind folgendermaßen aufgebaut (nur die relevanten Spalten):
Code:
User: id | benutzername |status --------------------------------- 1 | testuser | 1 2 | blabla | 3 Konto: uid | limit ------------ 1 | 1 2 | 1 Zukauf: uid | type | remain ----------------------- 1 | 1 | 30 1 | 2 | 90 ...
Das funktioniert auch sehr gut, nur die Sortierung in meinem SQL-Befehl funktioniert leider nicht. Dies ist aber sehr wichtig.
Hier das Statement:
Code:
SELECT *, sum(remain) FROM user as u LEFT JOIN zukauf as z ON u.id = z.uid LEFT JOIN konto as k ON u.id = k.uid WHERE u.deleted = 0 AND z.deleted = 0 GROUP BY z.uid ORDER BY u.status ASC
Comment