У меня есть простая база данных (см. Изображение), и я хотел бы получить 10 вопросов случайным образом со всеми ответами (от 2 до 4 ответов на вопрос). Я пробовал несколько запросов, но я не могу понять, что это правильно.
То, что я пробовал:
SELECT qa.Answerid,qa.Questionid
FROM question_answer as qa
JOIN (SELECT q.Questionid FROM question q ORDER BY rand() LIMIT 10)
WHERE qa.Questionid = q.Questionid
select *
From question q,question_answer qa,answer a
where qa.Questionid=q.Questionid and qa.Answerid=a.Answerid
ORDER BY rand() LIMIT 10
Мне нужен результат, подобный следующему:
AnswerId QuestionId ... ... ...
Максимум 10 случайных QuestionId и количество AnswerId будет варьироваться в зависимости от того, сколько ответов есть для 10 случайных вопросов.
Спасибо за любую помощь.