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 语句的集合列表中。
有任何想法吗?
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