我有一个course_subject
表,其中每个主题都可以与许多课程相关联。
Course Subject
C1 S1
C1 S2
C1 S4
C2 S1
C3 S1
和student
表,其中每个学生只能有一门课程。
Student Course
S1 C1
S2 C1
S3 C2
S4 C3
我的CourseSubject
课程如下
@Entity
Class CourseSubject {
@Id
String Course;
@Id
@ManyToOne
Subject subject;
...
}
我的Student
课程如下
@Entity
Class Student {
@Id
long id;
String fname;
String lname;
String course;
...
}
换句话说,每个学生只有一门课程,但每门课程都有多门科目,这意味着每个学生都通过相关课程与多门科目相关。
我需要知道如何创建如下的查询:
查询:显示所有参与主题S1的学生。
结果:因此,根据以上记录,它应该显示所有注册C1,C2和C3的学生,因为他们都有主题S1。
(请注意,在学生班,我只有课程名称)
我想,一个选项可以像
一样进行查询Select * from Student WHERE course IN
(Select course from
CourseSubject
WHERE
subject.name = 'S1')