Ich versuche, was ich dachte, wäre eine einfache Aktualisierung einer Tabelle mit der Summe aus einer anderen Tabelle, aber aus irgendeinem Grund ist es nur eine Zeile aktualisieren. Hier ist, was die relevanten Informationen aus den Tabellen wie folgt aussehen:Update-Tabelle mit SUM aus einer anderen Tabelle
Spiele
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
Nun schließlich, würde ich die letzte Tabelle wie folgt aussehen wie nach Ausführen des Updates:
Spieler Karriere
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
Dies ist die Abfrage, die ich, dass nur versucht, aktualisiert die erste Reihe:
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
Ich kann nicht die Antwort auf diese Frage zu finden scheinen. Vielen Dank im Voraus für Ihre Zeit und Rat!
Verwenden Sie SQL Server? –
Tut mir leid, ich benutze MySQL 5.5.16. – BigJay
Ich habe Ihren Code mit SQL Server getestet und es funktioniert einwandfrei (http://sqlfiddle.com/#!3/97125/2). Vielleicht sollten Sie Ihre Spielernamen überprüfen (vielleicht hat einer einen Leerraum und die Übereinstimmung kann nicht hergestellt werden). Letztendlich würde ich empfehlen, IDs anstelle von Names zu verwenden und eine relationale Tabelle zu verwenden. –