Научитесь формулировать ТЗ правильно. Что считать "правильным ответом" при многовариантности?
- 9 ответов из 10 правильных - это "правильно"?
- все 10 из 10 правильных и 1 из неправильных - "это "правильно"?
Update: если "правильно" - это все правильные вопросы и ни одного неправильного, то для каждого question надо сделать "правильный" отпечаток и сравнить его с отпечатком ответа юзера.
"Правильный" отпечаток:
SELECT question_id, GROUP_CONCAT(id ORDER BY sort ASC SEPARATOR '_')
FROM cms_testing_answer
WHERE is_correct = 1
GROUP BY question_id
(можно использовать другой сепаратор или бинарные сдвиги).
Для оптимизации этот отпечаток можно хранить в БД в cms_question, чтобы каждый раз не выполнять повторно.
Отпечаток ответа юзера - аналогично.