我有两张桌子
表A:内容问题,其选项和正确答案
表B:此表用于在给定时间内回答问题的时间。 此表具有Question_Id字段,该字段具有问题ID或零。零意味着如果对于表A在表B中未找到问题Id,那么默认时间将是表B的Question_Id = 0> 5分钟
现在我想从查询中获取像Result表这样的数据。通过使用选择查询与加入我得到问题详细信息,其与问题ID(1,2,4)匹配的问题3,5,6行未在结果表中显示。
请建议应该写什么SQL查询,以便我可以获得结果表内容的结果。
答案 0 :(得分:1)
我将表格更改为小而简单的表格,您可以在以下位置看到结果:
或尝试此查询:
SELECT t1.questionid,
t1.question,
t1.options,
t1.answer,
COALESCE(t2.timingstatement, '5 Min') TimingStatement
FROM tablea t1
LEFT OUTER JOIN tableb t2
ON t1.questionid = t2.questionid;
答案 1 :(得分:0)
试试这个
SELECT Q.QuestionID,Q.Question,Q.Options,QAnswer,
CASE WHEN Q.QuestionID NOT IN (SELECT QuestionID FROM Table2) THEN '5 Min'
ELSE T.TimingStatement
END [TimingStatement]
FROM Table1 Q
JOIN Table2 T ON Q.QuestionID = T.QuestionID