Próbuję zrobić to, co moim zdaniem miało być prostą aktualizacją tabeli z sumą z innej tabeli, ale z jakiegoś powodu jest to tylko aktualizacja jednego wiersza. Oto co istotne informacje z tabel wyglądać następująco:Zaktualizuj tabelę z SUM z innej tabeli
gier
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
Teraz ostatecznie chciałbym ostatnia tabela wyglądać tak po aktualizacja:
gracz kariera
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
To zapytanie próbowałem że tylko aktualizuje pierwszego rzędu:
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
nie mogę wydawać się znaleźć odpowiedź na to pytanie. Z góry dziękujemy za poświęcony czas i radę!
Czy używasz programu SQL Server? –
Przepraszamy, używam MySQL 5.5.16. – BigJay
Przetestowałem twój kod z SQL Server i działa dobrze (http://sqlfiddle.com/#!3/97125/2). Może powinieneś zweryfikować swoje nazwy graczy (być może ma białe spacje i nie można wykonać meczu). Ostatecznie polecam używanie identyfikatorów zamiast nazw i używanie tabel relacyjnych. –