mysql按特定顺序选择两个表的查询

时间:2013-07-07 04:54:27

标签: mysql

我有两张桌子如下面的问题表 questions content  和答案表如下 enter image description here
每个问题都有多个答案
如何进行查询以返回结果如下表enter image description here

2 个答案:

答案 0 :(得分:3)

您必须按两列排序 - q_idans_id。由于在question_tb中没有ans_id字段,您可以改为0

select t.id, t.q_content from
(
  select q_id, q_content, 0 k, q_id id from question_tb
  union 
  select ans_q_id, ans_content, ans_id, ans_id from answer_tb
) t  order by t.q_id, t.k

答案 1 :(得分:-1)

嗯..我想你需要重新思考一下你的结构:最后一个表(或查询结果)需要一个列来指定哪个是问题,哪个是答案,还要指出正确的回答。

此外,我假设每组问题(和答案)都与特定用户相关联,因此您还需要在答案表中使用user_key。

 SELECT Q.q_content          AS question,
        ANS.ans_content      AS answer,
        ANS.is_correct,
        ANS.user_id,
   FROM Question_TB Q
        INNER JOIN tb_answer ANS
          ON ANS.ans_q_id = Q.q_id
        ORDER BY ANS.user_id, Q.q_id