У меня есть требование написать запрос, где мне нужно добавить предложение where на основе входного значения, доступного из двух разных мест на клиенте. Например Я получаю только идентификатор с одной страницы, а с другой страницы я получаю диапазон дат для фильтрации записей.
В обоих условиях результат запроса одинаков, поэтому я подумал о том, как написать предложение where на основе ввода (Either Идентификатор или диапазон дат)
Например - Таблица сотрудников:
Если на одном экране у меня есть идентификатор, а из другого диапазона дат, поэтому я хочу построить динамический запрос c в oracle sql для извлечения набора результатов -
select * (required columns) from employee
where
-- other filter criteria
and if {employee_id is received} then id = ${employee_id}
else if {date range is received} then joining_date between {date range}
ПРИМЕЧАНИЕ. Также в JOIN есть несколько таблиц, которые я здесь не включил. Любая помощь будет оценена. :)