Bel*_*igh 3 sql-server t-sql sql-server-2008-r2
我正在尝试运行以下更新查询
UPDATE x
SET totalval = COUNT(projs)
FROM Prs x
LEFT JOIN es y
ON x.CS = y.CS
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
消息 157,级别 15,状态 1,第 2 行
聚合可能不会出现在 UPDATE 语句的集合列表中。
应如何更改此语句才能使其成为有效的更新语句?
您需要在 CTE 或派生表中单独进行聚合。这是一个应该适合您的 CTE 版本。
WITH t1
AS ( SELECT y.CS, COUNT(y.projs) AS records
FROM es AS y
GROUP BY y.CS)
UPDATE x
SET x.totalval = t1.records
FROM Prs AS x
LEFT JOIN t1
ON t1.CS = x.CS
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6091 次 |
最近记录: |