我有这两个表: 先决条件:(cid,pre-cid) (记录:sid,cid,qtr,年份,年级)。
我必须找到只使用NOT IN满足某个班级先决条件的学生。我目前的疑问是:
Node2
但是,我的查询会返回已经采用任何先决条件的学生,而不是所有先决条件。我无法弄清楚如何制作它,以便检查课程的所有先决条件。
答案 0 :(得分:1)
select distinct r.sid
from record r
where r.sid not in (
select r.sid
from prerequisite c
where c.cid = "CSE132X" and
c.pre-cid not in (
select r2.cid
from record r2
where r2.sid = r.sid
)
);
答案 1 :(得分:0)
这样的事情:
select distinct sid from record y where grade>=2 and not exists( select * from prerequisite where cid='CSE132X' and precid not in (select cid from record x where x.sid=y.sid) );