所以我正在学习 MySQL,我正在尝试执行以下操作:
对于每位讲师,请列出他/她的姓名和他/她指导的学生人数。
架构的相关部分是:
Person(ID, Name)
Student(StudentID, MentorID)
Instructor(InstructorID)
InstructorID
和StudentID
映射到Person.ID
和MentorID
映射到(每个学生都有InstructorID
一个导师导师,导师和学生都是人)。
我尝试了以下方法无济于事:
select p.Name, count(select s.StudentID
from Student s
where s.MentorID = i.InstructorID)
from Person p, Instructor i
where p.ID = i.InstructorID;
在阅读 StackOverflow 上的一些内容后,这也是:
select InstructorDetails.Name, count(Mentees)
from Instructor i
inner join Person as InstructorDetails
on InstructorDetails.ID = i.InstructorID
inner join Student as Mentees
on Mentees.MentorID = i.InstructorID;
有什么建议么?