Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Un agrégat peut ne pas apparaître dans la liste des ensembles d'une instruction UPDATE

Je suppose que (comme d'autres l'ont souligné) vous ne voulez pas vraiment d'un cartésien sur cette mise à jour, j'ai donc ajouté un "id" à la requête, vous devrez donc faire quelques modifications, mais cela pourrait vous mettre sur le bon chemin

;with temp as (
    select  a.id, SUM(a.pazartesi - b.kota) as newTotal
    from    [asgdb01].[dbo].[info] a join [asgdb01].[dbo].[kota] b 
          on a.id = b.id
    where   a.work_type='in' and a.name='alp' )
update  a
set     fm = t.newTotal
from    [asgdb01].[dbo].[info] a join temp t on a.id = t.id