如何从1到n的关系中检索左表的几个随机行和右表中的所有相关行

时间:2016-05-23 15:47:10

标签: mysql

我有两张桌子。一个是具有以下属性的问题:

  1. QuestionId
  2. Question_Description
  3. 重量
  4. NoofOption
  5. 和其他是答案:

    1. 编号
    2. QuestionId
    3. IsCorrect
    4. 注意:QuestionAnswer有1到n的关系

      现在我需要从问题表中选择10个随机问题,并使用join获取所有答案行。我是子查询的新手。 :(

1 个答案:

答案 0 :(得分:1)

子查询绝对是可行的方法:

SELECT
    q.questionID, 
    q.question_Description,
    q.weight,
    q.NoOfOption
FROM
    (SELECT QuestionID, Question_Description, Weight, NoOfOption FROM Question ORDER BY RAND() LIMIT 0,10) as q
    LEFT OUTER JOIN Answers a 
        ON q.questionid = a.questionid

这里的子查询只是抓住了10个随机问题。然后我们将LEFT OUTER JOIN连接到Answers。