sql >> Base de Datos >  >> RDS >> Sqlserver

Es posible que un agregado no aparezca en la lista establecida de una instrucción UPDATE

Supongo que (como han señalado otros) realmente no desea un cartesiano en esta actualización, por lo que agregué una "id" a la consulta, por lo que tendrá que hacer algunas modificaciones, pero esto podría llevarlo al camino correcto.

;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