问题
student_courses
courses
。 我应该如何做到这一点,Student
和student_courses
之间的关系是什么,以实现我的目标。
答案 0 :(得分:2)
我要做的是在student_courses中添加一个字段作为学生的个人编号,并将courseId添加到student_courses。这样很容易加入所有3个表
答案 1 :(得分:1)
您使用 student_courses 表格走在正确的轨道上。
因为学生和课程之间的关系可以是多对多的(即多个学生可以注册多个课程),所以需要一个关系表来将课程链接到学生。
student_courses应存储对学生和课程主键的外键引用,并包括任何与注册相关的字段(如注册日期)。通过这样做,您可以生成一个sql语句,用于构建学生与之相关的所有课程的列表:
select
sc.registrationdate, c.*
from
student_courses sc
join student s on s.personalNumber = sc.student_id
join courses c on c.courseId = sc.courses_id
where
s.personalNumber = 123;
或者如果您想找到与课程相关的所有学生:
select
s.personalNumber, s.firstName, s.lastName
from
student_courses sc
join student s on s.personalNumber = sc.student_id
join courses c on c.courseId = sc.courses_id
where
c.courseId = 123;
希望有所帮助。
答案 2 :(得分:0)
我在课程和学生之间添加了多对多关系,并生成了一个新表。在那张表中,我添加了一个日期。