首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在包含单选题和多选题的在线考试中查找正确回答的问题

在包含单选题和多选题的在线考试中查找正确回答的问题
EN

Stack Overflow用户
提问于 2012-04-23 14:31:17
回答 1查看 739关注 0票数 1

请参阅表:http://dl.dropbox.com/u/10356431/Shared/screen.png

请帮助我构建一个SQL,以便在针对特定test_id的在线考试中找到正确回答的问题。

我已经构建了一个。

代码语言:javascript
复制
SELECT COUNT(UNIQUE d.question_id) AS CORRECT
FROM test_response d,
     question_response r
WHERE d.response_id   = r.question_resp_id
AND r.correct_response_flag != 'N'
AND d.test_id = '10113'

但问题是,虽然它可以准确地找到单项选择题,但如果它是一个多项选择题,假设4个回答中的2个是正确的,那么选择一个将被视为正确回答的问题,这是不准确的。

逻辑:生成问题集并显示给用户。每个测试都有自己的id,使用一个特定的问题集。用户选择的响应存储在test_response表中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-23 15:25:59

UPDATE:这不适用于OP的表设计,即为4答案问题创建2行

我认为你需要首先检查每个问题是否所有答案都正确,然后计算没有错误答案的问题:

代码语言:javascript
复制
select
  count(*) - count(incorrect_answers_per_question) correct
from (
  select
    d.test_id,
    d.question_id,
    sum(case when r.correct_response_flag = 'N' then 1 end) incorrect_answers_per_question
  from test_response d
  join question_response r on d.response_id = r.question_resp_id
  where d.test_id = '10113'
  group by d.test_id, d.question_id
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10275826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档