Oracle
 sql >> Base de données >  >> RDS >> Oracle

Trouver des réponses correctes aux questions dans un test en ligne avec des questions à choix unique et multiples

MISE À JOUR :cela ne fonctionne pas pour la conception du tableau d'OP où 2 lignes sont créées pour les questions à 4 réponses

Je pense que vous devez d'abord vérifier chaque question si toutes les réponses sont correctes, puis compter les questions sans réponses incorrectes :

select
  count(*) - count(incorrect_answers_per_question) correct
from (
  select
    d.test_id,
    d.question_id,
    sum(case when r.correct_response_flag = 'N' then 1 end) incorrect_answers_per_question
  from test_response d
  join question_response r on d.response_id = r.question_resp_id
  where d.test_id = '10113'
  group by d.test_id, d.question_id
)