Oryginalna instrukcja aktualizacji zawiera GROUP BY i HAVING, które nie są dozwolone w składni instrukcji UPDATE. Oto link do diagramu składni:UPDATE (Transact-SQL) .
Twoja druga wersja zawiera GROUP BY i HAVING jako część tabeli pochodnej, którą jest dozwolony.
Więc tak:wystąpił błąd składni.
Nawiasem mówiąc, zgadzam się z @bluefeet:CTE zamiast tabeli pochodnej ułatwiłoby odczytanie i zrozumienie aktualizacji. Mała rzecz, ale może mieć duży wpływ na łatwość konserwacji.