子查询中的子查询如何使用最外层的父查询的列值

在一个子查询中的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)) 这个就是用来统计合作单位数的,因为每个主题重复出现了多少次就是多少个合作单位
展开
 我来答
不被人使用行吗
2006-10-12 · TA获得超过217个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:324万
展开全部
其实可以用联合查询的,好用也好理解。
你可以把你的例子发出来,我帮你改。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式