【发布时间】:2015-05-17 20:16:52
【问题描述】:
我有 3 个表,想要选择表 1 中的所有记录,其中表 2 中的所有记录都连接表 3 并被选中。
我知道有一个子查询的方法,但不知道它是什么。
一个简单的谁在上什么课的问题。
我使用 sqlite3 作为数据库。
Students table t1(id int,名称文本)
id name
------- ---------
1 Smith
2 Jones
3 Wilson
--------------------------------------------------
Classestable t2(类 int,学生 int)
class student
------- ---------
1 1
1 2
1 3
2 1
2 2
3 1
3 3
4 2
4 3
Selected table t3 (t3class int, t3checked boolean)
t3Class t3Checked
------- ---------
1 false
2 false
3 true
4 true
谁在上课
Class Name
----- --------
1,2 = Smith, Jones
1,3 = Smith, Wilson
1,4 = Jones, Wilson
1,2,4 = Jones
1,2,3,4 =
【问题讨论】:
-
我不太确定是这样。我只寻找上过课的学生。因此,如果表 3 全部为 false 且 class1&2 为 true,则答案将是 Smith 和 Jones。
-
忽略上面的评论,我无法编辑或删除它。我不太确定是不是这样。我正在寻找一个查询,它只会返回已参加所有标记为 true 的课程的学生。因此,如果所选表只有 1 和 2 为真,则将返回 Smith & Jones。如果 Selected 表的 1 和 3 为真,则返回 Smith & Wilson。如果所选表的 1 & 2 & 4 为 true,则仅返回 Jones 如果所选表的 1 & 2 & 3 & 4 为 true,则不会返回任何记录。