3 таблицы:
questions:
id | question
answers:
id | question_id | answer
answer_user
answer_id | user_id (или question_id | answer_id | user_id)
Когда юзер отвечает, записывает ответ в
answer_user.
Обычная many to many связь.
> как выводить ответы на которые пользователь еще не ответил
Достаем все ответы по question_id из answers + join на таблицу anwser_user