Ich habe ein Problem. (SQL Begginer). Ich habe zwei Tische.MySQL Wählen SUM JOIN WHERE zusammen nicht funktioniert
Spieler (nr, player_id, team_id, Name, Punkte, Saison)
Teams (team_id, TEAM_NAME, Saison) - Ther ist ein einzigartiges team_id aber die TEAM_NAME kann nach verschiedenen Saison unterschiedlich sein.
Ich möchte alle Punkte der einzelnen player_id in bestimmten Jahreszeit summieren, und das kann ich :)
SELECT SUM(players.points),
players.player_id,
players.team_id,
players.season,
players.nr,
players.name
FROM players
WHERE season='2015/2016'
GROUP BY player_id
ORDER BY SUM(players.points) DESC
LIMIT 30
und diese Arbeit perfekt für mich :) Aber, ich kann es nicht verstehen, wie man JOIN Teams Tabelle zu bekommen teams.team_name
entsprechend der spezifischen Saison entspricht der WHERE Clousure. In diesem Fall Saison = '2015/2016' Specyfic. Wenn ich die Punkte der Spieler von 2015/2016 zusammenfassen will, muss ich auch Teamname von Seesson 2015/2016 bekommen. Ich habe LEFT JOIN versucht, aber ohne Erfolg:/ Hier ist mein Code.
SELECT players.player_id,
players.nr,
players.name,
players.team_id,
SUM(players.points),
players.season
FROM players
WHERE players.sezon='2015/2016'
LEFT JOIN teams
ON (teams.team_id=players.team_id AND teams.season=players.season)
GROUP BY player_id
ORDER BY SUM(points) DESC
LIMIT 30
Vielen Dank für Ihre Mühe.
passende Team JOIN gehe ich davon aus 'players.season' vs' players.sezon' nur copy/paste ist Fehler hier? – Sean
Ja. Englische Wörter in meinem Beispiel verwenden. teams.season = players.season –
Wenn Sie möchten, sollten Sie diese einfache zweistufige Vorgehensweise befolgen: 1. Wenn Sie dies noch nicht getan haben, stellen Sie geeignete DDLs (und/oder ein sqlfiddle) bereit, damit wir einfacher replizieren können das Problem. 2. Wenn Sie dies noch nicht getan haben, geben Sie ein gewünschtes Ergebnisset ein, das den Informationen in Schritt 1 entspricht. – Strawberry