【发布时间】:2012-07-12 09:41:16
【问题描述】:
我正在尝试创建一个需要加入 3 个表的 SQL 语句
注册学生
EnrollID UserID SubjID
1 1 1
2 1 2
3 1 3
4 3 1
5 7 2
学生
StudentID UserID YearID
1 1 1
2 3 1
3 7 1
主题
SubjID SubjCode YearID
1 English 1
2 Math 1
3 Science 1
输出应该是……
UserID
2
3
因为User 1已经注册了所有科目,而User 3和User 7仍然显示,因为有些科目还没有注册。
我有以下 SQL 语句没有运气:
SELECT Students.UserID
FROM Students
WHERE Students.YearID = 1
AND Students.UserID NOT IN (SELECT EnrollStudents.UserID
FROM EnrollStudents)
有什么想法吗?
【问题讨论】:
-
很好地格式化表格,sqlfiddle 漂亮地导入了它们。
标签: sql inner-join not-exists