【发布时间】:2021-06-29 07:29:27
【问题描述】:
下面的代码完全错误,根本不起作用。我基本上是在查看我的表格并为一个部门有 40 多名学生的部门编制一份 DeptName 和总学生人数的列表。
我对一般的连接感到困惑,如果有人可以解释并指出我哪里出错了。我确定还有其他问题,所以对他们的任何帮助都会有所帮助
所以基本上一个部门连接到一个模块,一个学生就读于一个模块。学生不能参加他们部门之外的模块。所以每个学生都应该有一个模块连接到一个部门
其他表中的所有 ID 字段都是外键,你可以猜到,更改表不是我想在这里做的,我只是想按现状做这个查询
相关表格列
表部 DeptID, DeptName, Faculty, Address
表格模块 ModuleID, ModuleName, DeptID, Programme
表学生 StudentID,StudentName,DoB,Address,StudyType,`
餐桌注册 EID,StudentID,ModuleID,Semester,Year
SELECT Department.DeptName, COUNT(Student.StudentID) AS 'No of Students' FROM Department LEFT JOIN Module ON Department.DeptID= Module.DeptID LEFT JOIN Enrolment ON Module.ModuleID= Enrolment.StudentID LEFT JOIN Student.StudentID
GROUP BY(Department.DeptID)
HAVING COUNT(Student.StudentID)>=40
我没有把每张桌子都包括在这里,因为有很多。
但除非我完全错了,否则您不需要访问教职员工表中的 ModuleID 来获取他们教授的模块或与此无关的内容。因为那里没有学生或部门的详细信息。
如果是这样,我会很快解决。
【问题讨论】:
标签: mysql sql phpmyadmin