En supposant que vous utilisez SQL Server, je pense que vous voulez quelque chose comme ça :
WITH toupdate AS
(SELECT team, year,
Sum(personsales) OVER (partition BY team, year) AS newTeamSales
FROM salessummary
)
UPDATE toupdate
SET teamsales = newteamsales;
Votre requête d'origine présente plusieurs problèmes et des constructions suspectes. Premièrement, une sous-requête d'agrégation ne peut pas être mise à jour. Deuxièmement, vous faites une agrégation et l'utilisation d'une fonction de fenêtre avec, bien que autorisée, est inhabituelle. Troisièmement, vous agrégez par PersonSales
et en prenant le sum()
. Encore une fois, autorisé, mais inhabituel.