UPDATE [silverdb01].[dbo].[info] SET [FM] = SUM(a.[MONDAY] - b.[QUOTA]) FROM [silverdb01].[dbo].[info] a, [silverdb01].[dbo].[quota] b WHERE a.[WORK_TYPE]='IN' AND a.[NAME]='KUTHAY'
运行此命令时,出现以下错误:
聚合可能不会出现在UPDATE语句的设置列表中。
有任何想法吗?
我猜(正如其他人所指出的那样),您确实不需要此更新上的笛卡尔坐标,所以我在查询中添加了一个“ id”,因此您将必须进行一些修改,但这可能会使您走上正确的道路
;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