|
|
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
Привет всем. Пытаюсь написать запрос, который бы в зависимости от параметра производил фильтрацию строк по определенному условию. Т.е. хотел бы получить что-то типа такого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Как можно иначе написать запрос, чтобы была поддержка фильтрации в зависимости от параметра? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 15:55:06 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:01:37 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
Тут оно красиво выглядит, но плохо с точки зрения производительности -- OR по умолчанию (без хинта) не раскладывает план на несколько веток Т.е. что-то искать через индекс, что-то фулсканом, а тут вообще соединение с другой таблицей (со своими тараканами) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:08:53 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
svpk, немного неточно написал запрос. таблица m_user m2 - не та, что нужна. должна быть другая таблица. Назовем m_table, для примера. В ней хранятся нужные ключи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:09:03 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
Volik, Код: plsql 1. 2. 3. 4. 5. 6. 7. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:09:03 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
mRdUKE, выше подкорректировал условие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:09:57 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, а разве в данном примере оракл не будет отбрасывать две из веток по несоответствию первого условия? :usr ведь не будет одновременно всем трем удовлетворять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:15:46 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
А это легко увидеть в плане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:20:11 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
Volik, а если так попробовать? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 17:25:49 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
K790, не, фигня какая-то :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 17:36:54 |
|
||
|
Case в Where
|
|||
|---|---|---|---|
|
#18+
Volik, через гланды Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ...... stax] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 10:38:11 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39289055&tid=1887693]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 453ms |

| 0 / 0 |
