Php 将多行合并为具有多个列的一行

Php 将多行合并为具有多个列的一行,php,mysql,sql,Php,Mysql,Sql,我发现了这个关于将各种行和列合并到on行的查询 SELECT `studentdata`.`FirstName`,`studentdata`.`LastName`,`grades`.`idClass`, `term`.`TermName`, JAVA.ExamGrade AS JAVA, JAVA.CourseWork AS JAVACW 分级 左键连接ereportv3studentdata在成绩上StudentID=studentdataStudentID 左键连接ereportv3

我发现了这个关于将各种行和列合并到on行的查询

SELECT `studentdata`.`FirstName`,`studentdata`.`LastName`,`grades`.`idClass`, `term`.`TermName`,  
JAVA.ExamGrade AS JAVA, JAVA.CourseWork AS JAVACW 
分级 左键连接
ereportv3
studentdata
成绩上
StudentID
=
studentdata
StudentID

左键连接
ereportv3
term
ON
grades
idTerm
=
term
idTerm
左外连接等级JAVA ON(grades.StudentID=JAVA.StudentID和JAVA.idSubject='JAVA')
其中grades.idTerm='5'和grades.idClass='JAVA1'和
studentdata
idStatus
='Active'
分组依据
studentdata
StudentID
studentdata
排序
LastName

我遇到的问题是,当我运行查询时,我得到了该表中该类的所有java记录,而不仅仅是该类在该指定术语中的记录。我不确定我需要做什么来修复它。我四处寻找了一个解决方案,但我还没有找到一个我想要的解决方案。有人能帮忙或提出替代方案吗

我在没有按语法分组的情况下得到的结果是


FirstName LastName idClass TermName Java JavaCW John Doe Java1一月至三月33日45 约翰·多伊·贾瓦1年1月至3月0日66

这是表中人员的所有现有记录

我真正需要的是只显示这些数据

FirstName LastName idClass TermNam Java JavaCW 约翰·多伊·贾瓦1年1月至3月0日66


这是该学生在该学期的课程实际数据。(很抱歉格式化,不确定如何将其放入表格格式)

您将得到一条sql语法错误消息,而不是OP中查询的任何记录。Where is before group by。您可以粘贴您试图运行的实际查询吗?另外,请发布一些示例数据、您得到的结果以及预期结果。您的
来自
子句的
在哪里?选择
学生数据
名字
学生数据
姓氏
成绩
term
TermName
,JAVA.ExamGrade为JAVA,JAVA.CourseWork作为JAVACW从等级左连接
ereportv3
studentdata
StudentID
=
studentdata
StudentID
左连接
ereportv3
term
对JAVA进行分级(grades.StudentID=JAVA.StudentID和JAVA.idSubject='JAVA')其中grades.idTerm='5'和grades.idClass='JAVA1'和
studentdata
idStatus
='Active'Group by
studentdata
StudentID
Order by
studentdata
LastName
您将得到一条sql语法错误消息,OP中没有查询的任何记录。其中位于group by之前。您可以粘贴您试图运行的实际查询吗?另外,请发布一些示例数据、您得到的结果以及预期结果。您的
来自
子句的
在哪里?选择
学生数据
名字
学生数据
姓氏
成绩
term
TermName
,JAVA.ExamGrade为JAVA,JAVA.CourseWork作为JAVACW从等级左连接
ereportv3
studentdata
StudentID
=
studentdata
StudentID
左连接
ereportv3
term
在(grades.StudentID=JAVA.StudentID和JAVA.idSubject='JAVA')上对JAVA进行评分,其中grades.idTerm='5'和grades.idClass='JAVA1'和
studentdata
idStatus
='Active'分组依据
studentdata
顺序依据
studentdata
LastName