Php mysql将多条记录中的数据合并到一条记录中
我正在开发一个基于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.
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