【发布时间】:2019-02-14 23:11:20
【问题描述】:
假设我们有三个表学生、作业和科目。我想返回所有学生 ID,其中该学生已完成名为 first_name = 'place' 和 last_name = 'holder' 的学生在每个科目中至少完成的一项作业。
学生桌:
Student_id | first_name | last_name
------------------------------------
1 | place | holder
2 | |
3 | |
主题:
subject_id | name
-----------------
1 | Math
2 | English
3 | Science
作业:
student_id | subject_id
-----------------------
1 | 1
1 | 2
1 | 3
2 | 1
2 | 2
2 | 3
3 | 1
3 | 2
所以,在这种情况下,我希望我的查询结果是:
student_id
----------
1
2
我尝试了许多不同的方法,比如使用集合操作和类似的东西,但似乎没有一个能得到完全正确的结果。我不断让所有学生在学生“占位符”完成作业的任何科目中至少完成一项作业。
【问题讨论】:
-
查看 group by 子句和 having 子句 .. 作为提示,您可以使用 having count(*) >= 1