我需要一些SQL查询的帮助。我有一个课程表和一个包含用户id和课程id的表,表示用户已经参加的课程(可能没有参加任何课程;该用户id在该表中没有条目)。
我需要一个查询来返回而不是所选课程的列表。
Course Category table
CategoryID
Caegory
Courses table
CourseID
CategoryID
CourseName
...
UserCourse table
UserID
CourseID发布于 2017-10-06 18:26:11
这将只列出课程
select *
from Courses C
Left join CourseCategory cc on
cc.CategoryID = c.CategoryID
where CourseID not in (Select CourseID from UserCourse where UserID = 14)发布于 2017-10-06 18:32:27
您可以使用not exists
Select *
From Courses c
Where Not Exists (Select 1 From UserCourse uc Where uc.CourseID = c.CourseID)发布于 2017-10-06 19:48:31
我需要的是对于给定的用户id和课程类别,该用户没有选择该类别中的哪些课程。
(顺便说一句,这应该是在请求中。)
所以:
courses中选择。查询:
select *
from courses
where categoryid = 123
and courseid not in (select courseid from usercourse where userid = 456);https://stackoverflow.com/questions/46611287
复制相似问题