子查询中的子查询如何使用最外层的父查询的列值
在一个子查询中的FROM包含了另一个子查询,而在最里层的子查询中需要引用到上级子查询的父查询中的列值,应该如何引用呢?SELECTC1.DepartmentName,SU...
在一个子查询中的 FROM 包含了另一个子查询,而在最里层的子查询中需要引用到上级子查询的父查询中的列值,应该如何引用呢?
SELECT C1.DepartmentName, SUM(C1.Score / (SELECT COUNT(*) FROM (SELECT * FROM Contribution C2 WHERE C2.Topic = C1.Topic))) AS Score FROM Contribution C1 GROUP BY C1.DepartmentName
我写的语句如上,其中 C1.DepartmentName 代表的是单位名称,C1.Score 代表稿件所得分数,C1.Topic 和 C2.Topic 代表稿件主题,如果是几个单位合作的稿件,那么相应的出现那么多份的稿件,主题相同,但是单位不同。统计的时候,每个单位的每篇稿件的得分需要除以合作单位数。 (SELECT COUNT(*) FROM (SELECT * FROM Contribution C2 WHERE C2.Topic = C1.Topic)) 这个就是用来统计合作单位数的,因为每个主题重复出现了多少次就是多少个合作单位 展开
SELECT C1.DepartmentName, SUM(C1.Score / (SELECT COUNT(*) FROM (SELECT * FROM Contribution C2 WHERE C2.Topic = C1.Topic))) AS Score FROM Contribution C1 GROUP BY C1.DepartmentName
我写的语句如上,其中 C1.DepartmentName 代表的是单位名称,C1.Score 代表稿件所得分数,C1.Topic 和 C2.Topic 代表稿件主题,如果是几个单位合作的稿件,那么相应的出现那么多份的稿件,主题相同,但是单位不同。统计的时候,每个单位的每篇稿件的得分需要除以合作单位数。 (SELECT COUNT(*) FROM (SELECT * FROM Contribution C2 WHERE C2.Topic = C1.Topic)) 这个就是用来统计合作单位数的,因为每个主题重复出现了多少次就是多少个合作单位 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询