У меня есть следующая таблица с двумя полями a и b, как показано ниже:
create table employe
(
empID varchar(10),
department varchar(10)
);
Вставка некоторых записей:
insert into employe values('A101','Z'),('A101','X'),('A101','Y'),('A102','Z'),('A102','X'),
('A103','Z'),('A103','Y'),('A104','X'),('A104','Y'),('A105','Z'),('A106','X');
select * from employe;
empID department
------------------
A101 Z
A101 X
A101 Y
A102 Z
A102 X
A103 Z
A103 Y
A104 X
A104 Y
A105 Z
A106 X
Примечание. Теперь я хочу показать сотрудника, который принадлежит только отделу Z и Y. Поэтому в соответствии с условием должен отображаться только сотрудник A103, потому что он принадлежит только в отдел Z и Y. Но сотрудник A101 не должен появляться, потому что он принадлежит Z,X, and Y.
Ожидаемый результат:
Если условие равно: Z и Y, тогда результат должен быть:
empID
------
A103
Если условие равно: Z и X, тогда результат должен быть:
empID
------
A102
Если условие: Z, X и Y, тогда результат должен быть:
empID
------
A101
Примечание. Я хочу сделать это только в предложении where (не хочу использовать предложения group by и having), потому что я собираюсь включить это один в другом where.