我有两个表“问题”和“答案”,我需要选择4个随机问题及其4个答案
我试过这个:(但每个问题只返回1个答案)
SELECT question.id,question.text,answer.id,answer.text
FROM question
LEFT JOIN answer ON answer.question_id = question.id
ORDER BY RAND( )
limit 4
表:
问题
id text
1 where is...?
2 is .....?
3 How old ...?
4 from where...?
5 where are ...?
6 is England ...?
回答
id question_id text
1 1 bla..
2 1 18
3 1 19
4 1 jj
5 2 kk
6 2 82
7 2 77
8 2 77
9 3 6
10 3 2
感谢,
答案 0 :(得分:1)
SELECT Q.id,Q.text,answer.id,answer.text
FROM
(SELECT * FROM question
ORDER BY RAND( )
limit 4) Q
LEFT OUTER JOIN answer
ON answer.question_id = Q.id;
答案 1 :(得分:1)
首先用子查询选择de random问题,然后加入答案表:
SELECT q.id,
q.text,
a.id AS a_id -- always use an alias when you have duplicate coloumn names
a.text a_text
FROM
(SELECT
id, text
FROM
questions
ORDER BY RAND() LIMIT 4) q
JOIN
answers a
ON a.question_id = q.id
编辑:在输入时发布了答案