Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Aktualisieren Sie mit Join, Group By und Have

Ihre ursprüngliche Update-Anweisung enthält GROUP BY und HAVING, die in der UPDATE-Anweisungssyntax nicht zulässig sind. Hier ist ein Link zu einem Syntaxdiagramm:UPDATE (Transact-SQL) .

Ihre zweite Version hat GROUP BY und HAVING als Teil einer abgeleiteten Tabelle, was ist erlaubt.

Also, ja:Sie hatten einen Syntaxfehler.

Übrigens stimme ich @bluefeet zu:Ein CTE anstelle einer abgeleiteten Tabelle würde Ihr Update leichter lesbar und verständlich machen. Eine Kleinigkeit, die jedoch einen großen Unterschied in der Wartungsfreundlichkeit ausmachen kann.