私はこれを達成するために多くのことを試みましたが成功しなかったので、助けを求めてここにいます. 必要な最善の解決策を自分で見つけられるように、詳細を説明します。
私のMySQLデータベースから
Table (students)
--------------------------------
studentID | class_id | and other info
Table (class)
-------------------------------
classID | name | other info
Table (subjects)
--------------------------------
subjectID | name | class_id (references Class.classID)
Table (exam_type)
--------------------------------
exam_typeID | name | desc | start_date
Table (result)
---------------------------------------------
student_id | exam_type_id | subject_id | mark
私のクエリでは、これがあります:
SELECT subjects.name, exam_type.name, result.mark FROM subjects
LEFT JOIN result ON result.subject_id=subjects.subjectID
JOIN exam_type ON exam_type.exam_typeID=result.exam_type_id
WHERE result.student_id=$x
ORDER BY
subjects.name, exam_type.name
クエリの $x は、結果を表示する生徒の ID です。
クエリはこれを返します
このレベルまではほとんど問題ありません。私の頭痛の種は、結果をそのような方法で置き換えたいということです...すでに私のデザインを参照してください。
誰かが私を正しい方向に向けて、最初の写真の情報をそのように置き換えることができれば、それは本当に役に立ちます.
----------------------------------------------
CA Tests | Exams
-----------------------------------------------
subjects | 1 | 2 | 3 | score
-----------------------------------------------
Agricultural science | 10 | 9 | 8 | 56
-----------------------------------------------
English language | 12 | 13 | 12 | 43
-----------------------------------------------
French Language | 11 | | |
解決済み: JIML のソリューションによる