2017-01-27 5 views
0

Может кто-нибудь, пожалуйста, помогите мне с этим вопросом?Упорядоченная случайность

Вопросы:

  • ID - Autonum
  • Вопрос - Memo
  • Категория - Integer (1-5)

Ответы:

  • ID - Autonum
  • FID - Integer
  • Ответ - Memo

Один вопрос, многие возможные ответы

Мне нужен запрос, который будет показывать все вопросы из категории # 1 в случайном порядке. После каждого вопроса он покажет возможные ответы в случайном порядке. Тогда он сделает это для категории № 2 и так далее.

Вот что я до сих пор:

SELECT Questions.ID, Questions.Question, Questions.Category, Answers.Answer 
FROM Questions INNER JOIN Answers ON Questions.ID = Answers.FID 
ORDER BY Questions.Category, RND(Questions.ID); 

Это правильно сохраняет все категории вместе, но остальное является случайным. Я не уверен, как сохранить Questions.ID вместе (но в случайном порядке), делая ответы также случайными.

ответ

0

Хммм. Я думаю, что подзапрос может помочь:

SELECT q.ID, q.Question, q.Category, a.Answer 
FROM (SELECT q.*, rand() as rnd FROM Questions q) q INNER JOIN 
    Answers a 
    ON q.ID = a.FID 
ORDER BY q.Category, q.rnd, rand(); 
+0

Черт побери! :-) – user1429080

+0

TYVM для быстрого ответа! Я изменил «rand()» на «RND()» и «rnd» на «rand» для MSAccess. Он запускается, но Question.ID не сгруппирован. – user2182715

+0

@ пользователь2182715. , , Ваш вопрос помечен как «mysql», а не «ms-access». –