Oracle
 sql >> Database >  >> RDS >> Oracle

Trova le domande con risposta corretta in un test online con domande a scelta singola e multipla

AGGIORNAMENTO:questo non funziona per il design della tabella di OP in cui vengono create 2 righe per domande a 4 risposte

Penso che tu debba prima controllare ogni domanda se ha tutte le risposte corrette e poi contare le domande senza risposte errate:

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
)