Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Um agregado pode não aparecer na lista de conjuntos de uma instrução UPDATE


Eu estou supondo que (como outros apontaram) você realmente não quer um cartesiano nesta atualização, então eu adicionei um "id" à consulta, então você terá que fazer alguma modificação, mas isso pode levá-lo ao caminho certo
;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