#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, чтобы мы могли попытаться работать.