Делаю тест на пхп. Есть две таблицы tbl_questions и tbl_answers.
tbl_questions имеет структуру :
| ID | question |
tbl_answers имеет структуру :
| ID | question_id | answer | is_correct |
т.е. у каждого вопроса может быть сколько угодно вариантов ответов, но истинный только один.
Задача :
Вытащить рендомные ответы. т.е. вытащить один ответ тот который является правильный и вытащить рендомом два неправильных.
Мое решение :
SELECT * FROM `tbl_answers` WHERE `question_id` = '3' AND `is_correct` = '1' UNION SELECT * FROM `tbl_answers` WHERE `question_id` = '3' ORDER BY RAND() LIMIT 3
но к сожалению, рендомом вытягивается все 3 ответа, т.е. не всегда вытягивается истинный ответ ( тот у которого is_correct == 1 ).
Подскажите что я делаю не так…
как вариант я думал разбить все ето дело на два запроса…
в 1-ом вытаскивать только правильный ответ, а во 2-ом вытягивать рендомом 2 неправильных….
но я просто хочу разобратся почему не проходит первый запрос…
заранее благодарен