Saya menduga bahwa (seperti yang ditunjukkan orang lain) Anda tidak benar-benar menginginkan cartesian pada pembaruan ini, jadi saya telah menambahkan "id" ke kueri sehingga Anda harus melakukan beberapa modifikasi tetapi ini mungkin membuat Anda berada di jalur yang benar
;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