Supponendo che tu stia utilizzando SQL Server, penso che tu voglia qualcosa del genere:
WITH toupdate AS
(SELECT team, year,
Sum(personsales) OVER (partition BY team, year) AS newTeamSales
FROM salessummary
)
UPDATE toupdate
SET teamsales = newteamsales;
La tua query originale presenta diversi problemi e costrutti sospetti. Innanzitutto, una sottoquery di aggregazione non è aggiornabile. In secondo luogo, stai eseguendo un'aggregazione e utilizzando una funzione finestra con, sebbene consentita, è insolito. Terzo, stai aggregando per PersonSales
e prendendo il sum()
. Ancora una volta, consentito, ma insolito.