SELECT p.personname,d.subjectname,d.subjectID,e.grade
from exams e
INNER JOIN students s on s.studentID = e.studentID
INNER JOIN persons p on p.idpers = s.idpers
INNER JOIN subject d ON d.subjectID = e.subjectID
INNER JOIN
(SELECT p.personname, e.studentID, e.subjectID, e.examedate, e.grade,
d.subjectname FROM exams e
INNER JOIN students s ON s.studentID = e.studentID
INNER JOIN persons p ON p.idpers = s.idpers
INNER JOIN subject d ON d.subjectID = e.subjectID
WHERE e.grade>=5 AND s.studentID= 'RSL333444') X ON X.subjectID =
e.subjectID
WHERE e.grade>=5 AND x.subjectID=e.subjectID
GROUP BY p.personname,d.subjectname,d.subjectID,e.grade
我希望上面的查询基本上向我显示所有通过至少次考试的学生,其中studentID= 'RSL333444'
通过了考试。此查询有两个问题。首先是,如果有另一个学生studentID= 'RSL333444'
仅通过了一次一项考试,他会出现,但我需要确保他们至少通过了两项{ {1}}通过了(如果没有更多的话)。第二点是,即使有些学生通过了其他考试,这些考试也不会出现在列表中。该列表仅显示studentID= 'RSL333444'
也通过的考试的及格分数,而不显示其他。我可以尝试提供一些示例数据库,但我不确定如何做到这一点。