|
Иерархические запросы
|
|||
---|---|---|---|
#18+
Есть запрос. После его выполнения все элементы в таблицы выстраиваются в порядке развернутого дерева, на каждом уровне (бранче) дерева действует сортировка по имени. Всё круто работает, все элементы расположены под своими родителями и отсортировоны в каждой ветке Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
, но как только я меня ASC на DESC дерево разваливается, многие элементы которые должны были находится под своими предками оказывают не там, где они должны быть. Может, кто то пожскажет более правильный вариант. Требуется получить список записей упорядоченных в виде дерева и по имени (в разных направлениях) или по ключу. То есть, каждый бранч должен быть отсортирован, при этом порядок структуры дерева не должен нарушаться. Поле F_NAME_EXT должо выглядеть след. образом Для ORDER BY F_NAME ASC Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Для F_NAME DESC Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 18:38 |
|
Иерархические запросы
|
|||
---|---|---|---|
#18+
если делать сортировку по F_KEY то работает в обоих направлениях.. А по F_NAME не работает. В конечном запросе выборке из WITH поле F_ORDER лишнее, прошу прощения ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 19:22 |
|
Иерархические запросы
|
|||
---|---|---|---|
#18+
Это задача для клиента а не сервера. В GUI сортировать проще. Если очень хочется сортировать в select - сортируй по двум полям, оно и не будет "разваливаться", и если мой хрустальный шар не врет, то у тебя натуральная сортировка по F_KEY совпадает с тем что ты хочешь увидеть в итоге. Сортировать надо по (имя, мя_родителя) Если хочешь более конкретной помощи с запросом: http://www.sql.ru/forum/983207/kak-prosit-pomoshhi-s-zaprosom ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 21:05 |
|
|
start [/forum/topic.php?fid=54&msg=39507192&tid=2008490]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 412ms |
0 / 0 |