|
Сортировка по нескольким полям
|
|||
---|---|---|---|
#18+
Есть запрос, который возвращает пациентов и услуги, которые им назначены. Код: 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.
В условии ниже, перечислены все возможные услуги, которые могут быть назначены пациентам. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Можно ли вывести пациентом в таком порядке: 1. Сначала те, кому назначены услуги 3403, 3404, 3405, 3406 2. Затем кому: 2359, 2360, 2361, 2362 3. 3403, 3405, 2359, 2361 4. 3404, 3406, 2360, 2362 5. 3404, 3406, 2360, 2362, 3409, 2723 В одном запросе можно такую сортировку сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 09:52 |
|
Сортировка по нескольким полям
|
|||
---|---|---|---|
#18+
order by decode(service_id,3403,1,...3403,2....) ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 10:03 |
|
Сортировка по нескольким полям
|
|||
---|---|---|---|
#18+
kolhoz В одном запросе можно такую сортировку сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 10:06 |
|
Сортировка по нескольким полям
|
|||
---|---|---|---|
#18+
-2-, Я думал сделать через union, но тоже не то. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 10:18 |
|
Сортировка по нескольким полям
|
|||
---|---|---|---|
#18+
kolhoz, За денормализацию нужно платить)) case when ((listagg() ... over ()) = '2359, 2361, 3403, 3405') then 3 ... listagg возможны другие варианты, вплоть до квадратно-гнездового coalesce((select 3 from dual where exists () and exists () and ...), ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 14:19 |
|
|
start [/forum/topic.php?fid=52&tid=1881681]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 397ms |
0 / 0 |