【发布时间】:2014-03-27 07:57:59
【问题描述】:
为什么这个语句是自己工作的,但是当它是子查询的一部分时,它说无效使用组函数
select count(cid)
from qualification q
inner join faculty f
on q.fid=f.fid
where fname='Berry'
group by
f.fid;
如何修改它以适应子查询?
整个查询 -
select fid, fname from faculty
where fid in
(select fid from qualification where count(cid)=
(select count(cid) from qualification q inner join faculty f on
q.fid=f.fid where fname='Berry' group by f.fid));
Logic : 列出所有可以教授 Berry 教授可以教授的所有课程的教员的 fname 和 fid
【问题讨论】:
-
你能显示整个查询吗?
-
聚合函数过滤器必须与
HAVING一起使用,而不是WHERE