Zakładając, że używasz SQL Server, myślę, że potrzebujesz czegoś takiego:
WITH toupdate AS
(SELECT team, year,
Sum(personsales) OVER (partition BY team, year) AS newTeamSales
FROM salessummary
)
UPDATE toupdate
SET teamsales = newteamsales;
Twoje pierwotne zapytanie ma kilka problemów i podejrzanych konstrukcji. Po pierwsze, nie można aktualizować podzapytania agregującego. Po drugie, wykonujesz agregację i używanie funkcji okna z, chociaż dozwolone, jest nietypowe. Po trzecie, agregujesz według PersonSales
i biorąc sum()
. Znowu dozwolone, ale niezwykłe.