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

Atualizar com um Join, Group By e Tendo


Sua instrução de atualização original tem GROUP BY e HAVING, que não são permitidas na sintaxe da instrução UPDATE. Aqui está um link para um diagrama de sintaxe:UPDATE (Transact-SQL) .

Sua segunda versão tem GROUP BY e HAVING como parte de uma tabela derivada, que é permitido.

Então, sim:você teve um erro de sintaxe.

Aliás, concordo com @bluefeet:um CTE no lugar de uma tabela derivada tornaria sua atualização mais fácil de ler e entender. Uma coisa pequena, mas pode fazer uma grande diferença na facilidade de manutenção.