Giả sử bạn đang sử dụng SQL Server, tôi nghĩ bạn muốn một cái gì đó như thế này:
WITH toupdate AS
(SELECT team, year,
Sum(personsales) OVER (partition BY team, year) AS newTeamSales
FROM salessummary
)
UPDATE toupdate
SET teamsales = newteamsales;
Truy vấn ban đầu của bạn có một số vấn đề và cấu trúc đáng ngờ. Đầu tiên, một truy vấn con tổng hợp không thể cập nhật được. Thứ hai, bạn đang thực hiện một tổng hợp và sử dụng hàm cửa sổ với, mặc dù được phép, là bất thường. Thứ ba, bạn đang tổng hợp theo PersonSales
và lấy sum()
. Một lần nữa, được phép, nhưng không bình thường.