我发现了这个关于将各种行和列合并到行中的查询。
SELECT `studentdata`.`FirstName`,`studentdata`.`LastName`,`grades`.`idClass`, `term`.`TermName`,
JAVA.ExamGrade AS JAVA, JAVA.CourseWork AS JAVACW
从成绩
LEFT JOIN ereportv3
。studentdata
ON grades
。StudentID
= studentdata
。StudentID
LEFT JOIN ereportv3
。term
ON grades
。idTerm
= term
。IdTerm
LEFT OUTER JOIN等级JAVA ON(等级。学生ID = JAVA.StudentID和JAVA.idSubject =' JAVA')
在哪里grade.idTerm =' 5'和grade.idClass =' JAVA1'和studentdata
。idStatus
='有效'
按studentdata
分组。StudentID
按studentdata
排序。LastName
我得到的问题是,当我运行查询时,我将获得该表中该类的所有java记录,而不仅仅是该类指定术语的记录。我不确定我需要做些什么来解决它。我已经四处寻找解决方案,但我还没有找到一个可以按照我的意愿工作的解决方案。有人可以帮助或建议替代?
我在没有语法分组的情况下得到的结果是
FirstName LastName idClass TermName Java JavaCW John Doe Java1 Jan-Mar 33 45 John Doe Java1 Jan-Mar 0 66
表中人员的所有现有记录
我真正需要的是仅显示此数据
FirstName LastName idClass TermNam Java JavaCW John Doe Java1 Jan-Mar 0 66
该学期该学生的该课程的实际数据。 (抱歉格式化,不知道如何将其放入表格格式)