基本的に、学生がテストを受けることができるテーブル構造があります。
構造は次のようになります。
http://www.dropmocks.com/mBj9YX
SELECT s.name AS studentName,
t.name AS testName,
MAX(sc.percentile)
AS percentile,
(CASE WHEN MAX(sc.percentile) > 70 THEN 'passed'
WHEN MAX(sc.percentile) <70 THEN 'fail'
WHEN MAX(sc.percentile) IS NULL THEN 'not taken' END) AS status
FROM Score sc
したくない部分はここにあります:
WHEN MAX(sc.percentile) IS NULL THEN 'not taken' END
学生がテストを受けない場合、テスト ID はスコア テーブルに表示されません。テストを受けていない場合にステータス列に「受けていません」を追加するクエリがわかりません。ヘルプ?最初の 2 つは機能しますが、テスト テーブルにテスト ID があり、学生がそのテストを受けていない場合、その学生のテスト ID はスコア テーブルに表示されません。私はそれを検出する方法を見つけようとしています。