繁体   English   中英

MySQL - 显示之前未回答的问题

[英]MySQL - Show questions not answered before

我正在尝试进行一个测验,该测验应显示同一用户之前未回答的问题。 因此,当用户启动测验时会创建会话。

情况如下:

  • 有一个表“问题”
    • 此表包含所有问题。 有一个独特的字段QuestionId。
    • 这些问题的CategoryId始终为1到5
  • 有一个表“答案”
    • 此表包含用户提供的所有答案。 会话ID存储在SessionId中,回答的问题id存储在QuestionId中。

我现在正在寻找一个查询

  • 从问题中获取问题
    • 其中类别Id = X.
    • 之前没有回答过(因此QuestionId不应该在具有相同SessionId的Answers中列出)

我自己的试验和一些谷歌搜索没有帮助。 希望有人能帮助我。

提前致谢!

尝试这个:

select 
    * 
from 
    question 
where 
    categoryid = x and 
    not exists (
        select 
            '1' 
        from 
            answers 
        where 
            sessionid = y and 
            answers.questionid = question.questionid
    )

它将列出所有没有用户答案的​​问题。 您可以对结果设置“限制”以仅返回1行,如果这是您需要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM