惠安雪乃 2022-03-21 09:07 采纳率: 60%
浏览 20
已结题

MySQL问题对嵌套应用问题

问题遇到的现象和发生背景

学生信息表(STU)
SNO、SNM、SEX、BIRTHDAY、NATNM、 CLSNO、GRPNO

学习情况表(STUDY)

学号SNO、课程编号CNO、考试成绩SCORE

课程表(数据字典COURSE)

课程编号CNO、课程名称CNM,任课教师TNM ,先修课程FCNO

1、查询与姓名为“张三”在同一个组的学生信息

2、查询参加了全部课程考试的学生学号及姓名(思路:没有一门课程是没有选修的)

3、删除平均分以下的成绩

问题相关代码,请勿粘贴截图

第一个做出来了
但第2,3问做不出来

这是第2问的代码:
SELECT STU.SNO, STU.SNM FROM STU, STUDY, COURSE
GROUP BY STUDY.SNO HAVING COUNT(STUDY.CNO) == (SELECT COUNT(DISTINCT CNO) FROM COURSE);

运行结果及报错内容

错误代码: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== (select COUNT(DISTINCT CNO) FROM COURSE) LIMIT 0, 1000' at line 2

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • IT阿沈 2022-03-21 10:17
    关注

    首先,在having count() 进行比对的时候,使用单 = 进行数据的关联判断,不是双 ==
    然后,from 后面的表使用left join 进行关联,目前你的sql是没有标明关联字段的
    最后,group by 后面,应该是STU.SNO, STU.SNM ,而不能是STUDY.SNO

    修改完了之后,应该就可以了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月11日
  • 已采纳回答 7月3日
  • 创建了问题 3月21日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效