我想显示用户的结果摘要。i、 e.他试图回答的问题和答案的结果,以及他没有回答的问题。我有一个表包含问题大师和一个表是答案大师。我想显示用户的摘要。下面是我的表格结构。目前,我只得到尝试的问题和他们的答案通过以下查询
SELECT t1.exam_type,t1.questions,a1.answer,t1.correct_ans FROM tbl_que t1 LEFT JOIN tbl_ans a1 ON a1.que_id=t1.que_id WHERE t1.exam_type='1' AND a1.user_id='001' ORDER BY t1.que_id
但我也希望针对特定用户提出一些不受诱惑的问题。
tbl_que
que_id |exam_type |exam_name |questions |correct_ans
1 |1 |railway |que1 |ansA
2 |1 |railway |que2 |ansC
3 |2 |post |que3 |ansC
4 |2 |post |que4 |ansA
5 |1 |railway |que5 |ansB
tbl_ans
ans_id |exam_type |answer |user_id |que_id
1 |1 |right |001 |1
2 |1 |wrong |001 |2
3 |1 |right |002 |3
4 |1 |right |002 |4
Output/result
|exam_type |question |answer |correct_ans
|1 |que1 |right |ansA
|1 |que2 |wrong |ansC
|1 |que5 |NULL |ansB
4条答案
按热度按时间lb3vh1jj1#
尝试使用左连接:
nwnhqdif2#
也可以通过添加
user_id
左连接自身中的条件。下面的查询应该适合您。
332nm8kg3#
把用户id的条件放在左join的on子句中怎么样?
在这里测试sql fiddle
ldxq2e6h4#
你只需要改变你的想法
WHERE
条款:这将在结果中包括来自tbl que的所有问题,这些问题没有任何用户的答案(因此包括用户001)。
输出:
sqlfiddle公司