UPDATE:dit werkt niet voor OP's tabelontwerp waar 2 rijen worden gemaakt voor vragen met 4 antwoorden
ik denk dat je eerst elke vraag moet controleren of alle antwoorden correct zijn en dan de vragen tellen zonder onjuiste antwoorden:
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
)