| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Case в Where |
| Автор: m9yt 9.8.2016, 15:59 | ||
| Привет всем. Пытаюсь написать запрос, который бы в зависимости от параметра производил фильтрацию строк по определенному условию. Т.е. хотел бы получить что-то типа такого:
Как можно иначе написать запрос, чтобы была поддержка фильтрации в зависимости от параметра? |
| Автор: Akina 9.8.2016, 16:22 | ||
| UPD. Написал ответ, но был невнимателен. Удалил, переписываю. Суть:
Но это только суть, на самом деле надо всё то же, но без WHERE IN, а на основе m LEFT JOIN t. Рекомендация: три отдельных запроса, а хоть бы и в рамках одной ХП. |
| Автор: LSD 9.8.2016, 19:21 | ||
|
| Автор: Zloxa 11.8.2016, 20:50 | ||
union all Добавлено @ 20:57 ну и суть то же, но без замудрствований
|
| Автор: LSD 15.8.2016, 14:24 |
А зачем? Там же взаимоисключающие условия? |
| Автор: Akina 15.8.2016, 14:25 |
А чтобы исключить операцию сортировки в тщетной попытке найти и отсеять дубликаты. |