|
Модераторы: LSD |
|
m9yt |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 173 Регистрация: 27.2.2010 Репутация: нет Всего: нет |
Привет всем.
Пытаюсь написать запрос, который бы в зависимости от параметра производил фильтрацию строк по определенному условию. Т.е. хотел бы получить что-то типа такого:
Как можно иначе написать запрос, чтобы была поддержка фильтрации в зависимости от параметра? Это сообщение отредактировал(а) m9yt - 9.8.2016, 16:13 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 453 |
UPD. Написал ответ, но был невнимателен. Удалил, переписываю.
Суть:
Но это только суть, на самом деле надо всё то же, но без WHERE IN, а на основе m LEFT JOIN t. Рекомендация: три отдельных запроса, а хоть бы и в рамках одной ХП. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 18 Всего: 537 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
union all Добавлено @ 20:57 ну и суть то же, но без замудрствований
Это сообщение отредактировал(а) Zloxa - 11.8.2016, 20:59 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 18 Всего: 537 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 453 |
А чтобы исключить операцию сортировки в тщетной попытке найти и отсеять дубликаты. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
union и union all суть разные операции. Нелепо явно указывать одну операцию, полагая, что неявно вместо нее всегда будет выполняться другая. Даже если отработает лишь один запрос из объединяемых, к нему все равно будет применен distinct
С огромной долей вероятности, ненужной сотртировки тут не будет. Выбирается по звездочке, в таблице наверняка есть PK. Конечно, для пущей надёги, можно бы еще и rowid в select list вписать, чтоб вместо указанного union железобетонно выполнялся union all -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
Правила форума "Oracle" | |
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Oracle | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |