Php 将多行合并为具有多个列的一行
我发现了这个关于将各种行和列合并到on行的查询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
SELECT `studentdata`.`FirstName`,`studentdata`.`LastName`,`grades`.`idClass`, `term`.`TermName`,
JAVA.ExamGrade AS JAVA, JAVA.CourseWork AS JAVACW
分级
左键连接ereportv3
studentdata
在成绩上StudentID
=studentdata
StudentID
左键连接ereportv3
term
ONgrades
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 bystudentdata
StudentID
Order bystudentdata
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