sql >> データベース >  >> RDS >> Sqlserver

複数選択回答 T-SQL クエリ

    各質問について、予想される回答と送信された回答をリストします (FULL OUTER JOIN が必要です) これを行うには、LEFT join では十分ではありません) 一致の数を数えます。次に、この数を予想される回答の数と比較します。

    select question_id, case when cnt = sum_test then 1 else 0 end as mark
    from (
        select question_id, count(*) cnt, sum(test) sum_test
        from (
            select coalesce(q.question_id, s.question_id) as question_id, 
            correct_option_id, 
            submitted_option_id, 
            case when correct_option_id = submitted_option_id then 1 else 0 end as test
            from question_answer q full outer join user_exam_answer s 
            on q.question_id = s.question_id and q.correct_option_id = s.submitted_option_id
            ) x
        group by question_id
    ) y
    

    ライブ デモはこちら にあります。



    1. codeigniterを使用して複数の画像をアップロードする方法

    2. MySQLフルテキストストップワードの理論的根拠

    3. 構文エラーが発生し続ける(php / mysql)

    4. Oracleのcount(1)とcount(*)の違い