mysql объединение данных из нескольких записей в одну запись

#php #mysql

#php #mysql

Вопрос:

Я работаю над школьной системой баз данных, основанной на php mysql. базовая структура выглядит следующим образом:

 Table Class-Details of all classes.
 

введите описание изображения здесь

 Table Student-Details of all students
 

введите описание изображения здесь

 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
 

Пожалуйста, помогите мне в этом… Я получаю запись для каждой метки recvd, как показано ниже.

введите описание изображения здесь

Однако я хочу сгруппировать все оценки за семестр в одну строку, как показано ниже: введите описание изображения здесь

Друзья, пожалуйста, дайте мне знать, если мой запрос понятен

Комментарии:

1. Как вы получаете свои значения для каждого семестра? Примеры данных помогут сделать это более понятным.

2. вы должны показать свои усилия.

3. У меня есть таблица с именем class со многими отношениями ко многим с таблицей семестров. До сих пор я создавал- ВЫБЕРИТЕ m.MarkID, m.StudentID, sm.ExamName, sb.Subject, sm.MaxMarks, m.MarksRecvd ИЗ marks AS m RIGHT ПРИСОЕДИНИТЕСЬ К студенту КАК К st НА m.StudentID= st.StudentID СПРАВА ПРИСОЕДИНИТЕСЬ К семестру КАК К sm НА m.examID= sm.examIDПРАВОЕ ОБЪЕДИНЕНИЕ subject КАК sb В m.SubjectID=sb.SubjectID ГДЕ m.StudentID = $StudentID

4. да, амит, я обновил свой запрос выше, который показывает данные из нескольких записей

5. Проблема в том, что отношение, которое вы нам дали, странное и сложное, и без фактических данных практически невозможно выяснить, откуда могут исходить какие-либо ошибки. Возможно, заполните таблицу некоторыми поддельными данными и экспортируйте ее в SQL, чтобы мы могли попытаться работать.