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. Ergebnis soll also z.B. sein:
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
...
Ich benötige einen SQL Befehl, der im Prinzip für jeden User die Werte in zukauf.remain addiert und anzeigt. Ergebnis soll also z.B. sein:
Code:
id | sum(remain) | ...
1 | 120
...
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