选择没有答案的问题

发布于 2024-10-19 16:30:34 字数 373 浏览 0 评论 0原文

我有一个简单的疑问。

Question Table
qid question
1   ques1
2   ques2
3   ques3
4   ques4
5   ques5
6   ques6
7   ques7

Answer Table
ansid qid answer
1     1   ans1
2     2   ans2
3     2   ans3
4     4   ans4
5     6   ans5

我有两张桌子。一张用于提问,一张用于答案。问题 id(qid) 用作答案表中的外键。我想要选择答案表中没有答案的问题。在上面的例子中我需要问题3、5、7。我的数据库很大,可能包含超过 50,000 条记录。

谢谢 阿润

I have a simple query doubt.

Question Table
qid question
1   ques1
2   ques2
3   ques3
4   ques4
5   ques5
6   ques6
7   ques7

Answer Table
ansid qid answer
1     1   ans1
2     2   ans2
3     2   ans3
4     4   ans4
5     6   ans5

I have two tables. One for questions and one for answers. Question id(qid) is use as a foreign key in answer table. I want select questions which doesnot have an answer in the answer table. In the above example I need questions 3,5,7. My database is large it may contain more than 50,000 records.

Thanks
ARun

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故人爱我别走 2024-10-26 16:30:34
select q.* from question as q
left join answer as a
on q.id = a.qid
where a.qid is null

编辑。
此外,最好在答案表上添加索引

alter table answer add index iq (qid);
select q.* from question as q
left join answer as a
on q.id = a.qid
where a.qid is null

edit.
Moreover it would be better to add an index on answer table

alter table answer add index iq (qid);
初心 2024-10-26 16:30:34
select * from question where qid not in 
(select qid from answer)
select * from question where qid not in 
(select qid from answer)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文