У меня есть следующая таблица с двумя полями 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
.