Я извлекаю данные студентов, которые завершили список курсов для требований степени. Один из курсов в списке эквивалентен другому курсу, поэтому, если студент заканчивает оба эквивалентных курса, он может быть засчитан только один раз для получения степени. Мне нужно извлечь данные о студентах, которые завершили список курсов, одновременно отфильтровывая только один из эквивалентных курсов.
Куда я иду не так?
Я пробовал разные операторы OR и AND NOT, но не могу получить нужный результат
use coll18_live
select ENR_STUDENT_ID, ENR_TERM, CRS_NAME, ENR_GRADE
from dbo.CA320_ENROLLMENT_VIEW_N03
WHERE ENR_CENSUS_REG_FLAG = 'Y'
and ENR_TERM in ('14/FA', '15/SP')
and not (CRS_NAME = 'BUSI-105' and CRS_NAME = 'ENGL-120')
and CRS_NAME in ('ACCT-120', 'ACCT-125', 'BUSI-100', 'BUSI-103', 'BUSI-105', 'ENGL-120')
Я ожидаю, что на выходе будут показаны студенты, которые закончили ACCT-120, ACCT-12, BUSI-100, BUSI-103 и BUSI-105 или ENGL-120 (но не оба BUSI-105 или ENGL-120)