SQL :ВНУТРЕННЕЕ СОЕДИНЕНИЕ + НЕ СУЩЕСТВУЕТ

Я пытаюсь создать оператор SQL, в котором мне нужно соединить 3 таблицы

РегистрацияСтуденты

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)

Любые идеи?

5
задан abramlimpin 13 July 2012 в 00:27
поделиться