Tôi đang cố gắng để những gì tôi nghĩ sẽ là một bản cập nhật đơn giản của một bảng với tổng từ một bảng khác, nhưng vì một lý do nào đó, nó chỉ cập nhật một hàng. Đây là những gì các thông tin có liên quan từ các bảng như sau:Cập nhật bảng với SUM từ một bảng khác
trò chơi
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
Bây giờ cuối cùng, tôi muốn bảng cuối cùng để trông như thế này sau chạy bản cập nhật:
trình phát sự nghiệp
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
Đây là câu hỏi tôi đã cố gắng mà chỉ cập nhật hàng đầu tiên:
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
tôi dường như không thể tìm ra câu trả lời cho điều này. Cảm ơn trước cho thời gian và lời khuyên của bạn!
Bạn đang sử dụng SQL Server? –
Xin lỗi, tôi đang sử dụng MySQL 5.5.16. – BigJay
Tôi đã thử nghiệm mã của bạn với SQL Server và nó hoạt động tốt (http://sqlfiddle.com/#!3/97125/2). Có thể bạn nên xác minh tên người chơi của mình (có thể một người có một khoảng trắng và không thể thực hiện được trận đấu). Cuối cùng, tôi khuyên bạn nên sử dụng ID thay vì Tên và sử dụng bảng quan hệ. –