gpt4 book ai didi

mysql - 为什么这个 MySQL 语句在子查询中不起作用?

转载 作者:行者123 更新时间:2023-11-29 13:06:06 25 4
gpt4 key购买 nike

为什么这个语句单独有效,但是当它是子查询的一部分时,却说组函数的使用无效

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));

逻辑:列出可以教授 Berry 教授可以教授的所有类(class)的所有教师的 fname 和 fid

最佳答案

对我来说,问题是在 WHERE 中使用 count()

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)

你可以尝试改成这样处理

HAVING count(cid)=
(select count(cid) from qualification q inner join faculty f on
q.fid=f.fid where fname='Berry' group by f.fid)

但我不明白其中的逻辑。如果您解释得更多,我们会建议更好的解决方案

关于mysql - 为什么这个 MySQL 语句在子查询中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com