Wenn wir zwei Tabellen mit eins zu viele Beziehung haben, wie wir die Summe der linken Tabellenspalte erhalten können.My-SQL eins zu viele Relation Join Get Summe der linken Tabellenspalte
Ex:
Player (player_id,name)
Stats (player_id, game_id, score)
Player
1 Aaron Brooks
2 Beno Udrih
3 James harden
Stats
player_id score year
1 5 2017
1 3 2017
2 4 2016
The result I need to get is (Player scores in 2017)
Player Score
Aaron Brooks 8
Beno Udrih 0
James harden 0
Ein Spieler hat viele Statistikaufzeichnungen.
Dann wie bekomme ich alle Spieler Liste mit seiner Summe der Gesamtpunktzahl. (Auch wenn Statistiken nicht verfügbar für einen Spieler seine Punktzahl müssen 0 sein)
bekam die richtige Abfrage
select p.player_id,p.name,coalesce(sum(s.score),0)
from player p
left join stats s on p.player_id = s.player_id and s.year=2017
group by p.player_id,p.name
Danke @khalid, Aber wenn ich es mit Jahr filtere, funktioniert es nicht korrekt. Hast du eine Ahnung warum? wählen p.player_id, p.name, verschmelzen (sum (s.score), 0) von Spieler S. links Statistiken s auf p.player_id beitreten = s.player_id WHERE s.year = 2017 Gruppe von p .player_id, p.name – Chythi
@Chythi Aktualisieren Sie Ihre Frage, wie Sie Filter anwenden? Ich schlage vor, dass Sie den Filter nach 'on' like' und s.year = '2017'' –
@Khalid hinzufügen, es funktioniert. Danke, große Hilfe! – Chythi