【发布时间】:2016-01-08 16:47:57
【问题描述】:
你能告诉我这个查询有什么问题吗?
with myFriends as (select objectAuthor,memberId,objectSubject,rating,memberSubjectEq4 from tblRating group by objectAuthor,memberId,objectSubject,rating,memberSubjectEq4)
select authorId,subjectId,(
(
select memberSubjectEq4*(sum(rating)+1) from myFriends where myFriends.objectAuthor=AAA.authorId and myFriends.objectSubject=AAA.subjectId
)
) as XF from tblMC AAA group by authorId,subjectId;
当我在 MS SQL Server 2014 中运行它时,我会收到以下错误:
选择列表中的“myFriends.memberSubjectEq4”列无效 因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句。
【问题讨论】:
-
错误的哪一方面你不明白?看起来很清楚。
-
@GordonLinoff 为什么我会收到错误消息?我想找到第 4 行中列的乘积。
-
@Siavash "memberSubjectEq4" 在您的 sum 函数之外。重组代数或查询,以免解决错误。
-
你为什么要 SUM 评级,而不是 memberSubjectEq4?
-
这里有很多关于这个错误的解释:stackoverflow.com/…
标签: sql sql-server group-by common-table-expression