Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql将多条记录中的数据合并到一条记录中_Php_Mysql - Fatal编程技术网

Php mysql将多条记录中的数据合并到一条记录中

Php mysql将多条记录中的数据合并到一条记录中,php,mysql,Php,Mysql,我正在开发一个基于php mysql的学校数据库系统。基本结构如下: Table Class-Details of all classes. 我正在尝试获取以下格式的表格: 到目前为止,我在每一项记录中都能获得个别科目的分数 我的问题是: SELECT m.MarkID, m.studentID, sm.ExamName, sb.Subject, sm.MaxMarks, m.

我正在开发一个基于php mysql的学校数据库系统。基本结构如下:

Table Class-Details of all classes.

我正在尝试获取以下格式的表格:

到目前为止,我在每一项记录中都能获得个别科目的分数 我的问题是:

SELECT 
                m.MarkID, m.studentID, 
                sm.ExamName, sb.Subject, 
                sm.MaxMarks, m.MarksRecvd  

                FROM marks AS m

                RIGHT JOIN student AS st 
                ON m.studentID=st.studentID

                RIGHT JOIN semester AS sm
                ON m.ExamID=sm.ExamID

                RIGHT JOIN subject AS sb 
                ON m.SubjectID=sb.SubjectID

                WHERE m.studentID = $studentID
请帮我做这个。。。我正在为下面的每一个马克录制一张唱片

但是,我想将所有学期分数分组在一行,如下所示:


朋友们,请让我知道我的问题是否明确

你如何获得每学期的价值观?示例数据将有助于使这一点更清楚。您应该展示您的努力。我有一个名为class的表,它与semesters表有多对多关系。到目前为止,我已经创建了-选择m.MarkID、m.studentID、sm.ExamName、sb.Subject、sm.MaxMarks,m.marks从m的分数中减去m的右加入学生的右加入学生的右加入学期的m.ExamID=sm.ExamID的右加入科目的m.subject=sb.subject,其中m.studentID=$studentidAmit,我已经更新了上面的查询,其中显示了来自多个记录的数据。问题是,您给我们的关系既奇怪又复杂,如果没有实际数据,几乎不可能找出任何错误的来源。也许用一些假数据填充表并将其导出到SQL,以便我们可以尝试工作。
Table Semester-Details of all Semesters
Table class–Semester. This table solves many to many relation, primary key- IDs of both class and semester.
Table Subject -Details of all Subjects
Table class–Subject. This table solves many to many relation, primary key- IDs of both class and semester.
Table marks- consists of student ID, Subject ID, Semester ID, Marks Achieved.Foreign Key ClassID, SemesterID, SubjectID
ENGINE = InnoDB
AUTO_INCREMENT = 53
DEFAULT CHARACTER SET = utf8;
SELECT 
                m.MarkID, m.studentID, 
                sm.ExamName, sb.Subject, 
                sm.MaxMarks, m.MarksRecvd  

                FROM marks AS m

                RIGHT JOIN student AS st 
                ON m.studentID=st.studentID

                RIGHT JOIN semester AS sm
                ON m.ExamID=sm.ExamID

                RIGHT JOIN subject AS sb 
                ON m.SubjectID=sb.SubjectID

                WHERE m.studentID = $studentID