Za předpokladu, že používáte SQL Server, myslím, že chcete něco takového:
WITH toupdate AS
(SELECT team, year,
Sum(personsales) OVER (partition BY team, year) AS newTeamSales
FROM salessummary
)
UPDATE toupdate
SET teamsales = newteamsales;
Váš původní dotaz obsahuje několik problémů a podezřelých konstrukcí. Za prvé, agregační poddotaz nelze aktualizovat. Za druhé, provádíte agregaci a používáte funkci okna s, ačkoli je to povoleno, je neobvyklé. Za třetí, agregujete podle PersonSales
a vzít sum()
. Opět povolené, ale neobvyklé.