Câu lệnh cập nhật ban đầu của bạn có GROUP BY và HAVING, không được phép sử dụng trong cú pháp câu lệnh UPDATE. Đây là liên kết đến sơ đồ cú pháp: CẬP NHẬT (Giao dịch-SQL) .
Phiên bản thứ hai của bạn có GROUP BY và HAVING là một phần của bảng dẫn xuất, is cho phép.
Vì vậy, vâng:bạn đã có một lỗi cú pháp.
Thật tình cờ, tôi đồng ý với @bluefeet:một CTE thay cho bảng dẫn xuất sẽ giúp cập nhật của bạn dễ đọc và dễ hiểu hơn. Một điều nhỏ, nhưng nó có thể tạo ra sự khác biệt lớn trong việc dễ dàng bảo trì.