以下是此查询语句中包含的3个表
1个帖子有多个评分,我们想要计算评级以及有关文章本身的所有信息。
这就是我所拥有的:
SELECT p.*, Count(r.PostId)
FROM Posts p INNER JOIN
Rating r
on p.RatingId = r.PostId
然后我收到此错误:
Msg 8120,Level 16,State 1,Line 1列'Posts.Id'无效 选择列表,因为它不包含在聚合中 函数或GROUP BY子句。
但我不想使用分组,我想返回文章信息以及该文章评分的一列。
谢谢!
答案 0 :(得分:1)
执行所需操作的最简单方法可能是使用子查询:
class CustomDockingManager : DockingManager
{
override IEnumerable<IDropArea> GetDropAreas(LayoutFloatingWindowControl draggingWindow)
{
//some changes
}
}
您的查询存在问题,因为它使用聚合函数SELECT p.*,
(SELECT Count(r.PostId)
FROM rating r
WHERE p.RatingId = r.PostId
)
FROM Posts p ;
和其他列(COUNT()
),并且没有p.*
子句。
此外,您的GROUP BY
条件看起来很奇怪。我希望JOIN
或p.PostId = r.PostId
。