У меня есть следующий начальный запрос.Эксклюзивный оператор IF в предложении WHERE
Select * from Table
where Datum1 < @Datum2
and Employee_Name = Employee_Name
Но я хочу, чтобы фильтровать Datum1 < Datum2
только если работник является членом группы учащихся. Для сотрудников, не являющихся студентами, я не хочу фильтровать Datum1 < @Datum2
.
Моя первая мысль была
Select * from Table
where CASE WHEN Datum1 < @Datum2 END
and Employee_Name = Employee_Name
Но это не работает. Поэтому я проверил other SO Solutions, ссылаясь на where clause in sql if statement
, но все они заботятся о проблемах, где у нас есть eiter или решение вроде if Student then Datum1 < @Datum2 else Datum2 < @Datum2
. Но я хочу, чтобы утверждение не рассматривалось вообще, если условие истинно. Кто может мне помочь?
Как вы определяете ', если Employee является членом группы s tudents'? – Siyual
Не используйте выражения case в предложении WHERE. Вместо этого используйте AND/OR. – jarlh