だから私は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;
助言がありますか?