前提・実現したいこと
以下の3つのテーブルを使用し、生徒ごとの5科目の成績表を作成したいと考えています。
studentテーブル
student_id(生徒ID) | student_name(生徒名) | student_furigana(生徒カナ) | school_year(学年) | school_class(クラス) |
---|
subjectテーブル
subject_id(教科ID) | subject_name(教科名) |
---|
test_resultsテーブル
※student_id→studentテーブルの外部キー
※subject_id→subject_idテーブルの外部キー
student_id(外部キー) | subject_id(外部キー) | score(得点) | test_day(試験日) |
---|
3テーブルを結合し、試験日ごとに以下のようなテーブルを作成したいと考えています。
(該当の日付に試験が行われなかった科目については斜線などで表示)
取得したいテーブル
|試験日|学年|クラス|生徒ID|名前|国語点数|数学点数|英語点数|理科点数|社会点数|
|:--|:--:|--:|
発生している問題・エラーメッセージ
現状、テーブルを結合して、試験日・学年・クラス・生徒ID・生徒名・科目ID・科目名・得点までは取得できているのですが(下画像)、どのようにすれば上記のように全科目を一つのレコードになるかがわからず(調べ方も、どのようなキーワードで検索すればいいのかが見当つかない)、こちらの解決方法につきましてご教示いただけますと幸いです。
select test_day, student.school_year, student.school_class,student.student_id, student.student_name, subject.subject_id, subject.subject_name, score from test_results inner join student on student.student_id = test_results.student_id inner join subject on subject.subject_id = test_results.subject_id;
回答2件
あなたの回答
tips
プレビュー