आपके मूल अपडेट स्टेटमेंट में GROUP BY और HAVING है, जिसकी UPDATE स्टेटमेंट सिंटैक्स में अनुमति नहीं है। सिंटैक्स आरेख का लिंक यहां दिया गया है:UPDATE (Transact-SQL) ।
आपके दूसरे संस्करण में एक व्युत्पन्न तालिका के भाग के रूप में GROUP BY and HAVING है, जो है अनुमत।
तो, हाँ:आपके पास सिंटैक्स त्रुटि थी।
संयोग से, मैं @bluefeet से सहमत हूं:व्युत्पन्न तालिका के स्थान पर एक सीटीई आपके अपडेट को पढ़ने और समझने में आसान बना देगा। एक छोटी सी बात, लेकिन यह रखरखाव में आसानी में बड़ा बदलाव ला सकती है।