gpt4 book ai didi

sql-server-2008 - 通过加入和分组更新表

转载 作者:行者123 更新时间:2023-12-03 23:35:45 24 4
gpt4 key购买 nike

一家公司有很多评论,这些评论本身就有评级栏。

CompID  Ratig
12 3
13 3
17 4
22 4
23 5
24 3
28 3,2

这是我需要通过id设置给每个公司的。 现在公司栏目评级为 NULL .

我写过这样的东西:
UPDATE Companies c
JOIN Reviews r on c.CompanyID = r.CompanyID
SET c.Rating = AVG(r.rating)
group by r.CompanyID

最佳答案

这应该使用简单的嵌套查询来完成您想要的操作,在这种情况下可能比 JOIN 更简单.

UPDATE Companies
SET Rating =
(SELECT AVG(Rating)
FROM Ratings
WHERE Companies.CompanyId = Ratings.CompId)

简单的 SQLfiddle 演示 here .

编辑:如果你真的想使用 JOIN/ UPDATE FROM ,它看起来像这样;
UPDATE c
SET c.Rating = r.Rating
FROM Companies c
JOIN (SELECT AVG(Rating) Rating, CompID FROM Ratings GROUP BY CompId) r
ON c.CompanyId = r.CompId

至少对我来说,阅读起来有点复杂,而且它只适用于 SQL Server,但是 here's the SQLfiddle为此也:)

关于sql-server-2008 - 通过加入和分组更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12767105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com