Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
Есть у меня таблица: Код: plaintext 1. 2. 3. 4. С помощью классического рекурсивного запроса с CTE получаю перечень всего иерархического дерева. А как выводить все тоже, но с учетом колонки SeqOrder? Код: sql 1. 2. 3. 4. 5. 6. 7. Вот так хотелось бы увидеть (SeqOrder задан в БД): Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 17:32 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
Qwe.Qwe1, а что значит "с учетом"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 17:35 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
добавьте поле ID(или SeqOrder, если корневые элементы должны тоже в этом порядке следовать) из нерекурсивной части в качестве поля RootID и транслируйте в рекурсивной тогда итог можно будет отсортировать по RootID+SeqOrder ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 17:38 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
Формируйте "полный путь" до элемента, и сортируйте по нему. что-то типа Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 17:41 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
Посетительдобавьте поле ID(или SeqOrder, если корневые элементы должны тоже в этом порядке следовать) из нерекурсивной части в качестве поля RootID и транслируйте в рекурсивной тогда итог можно будет отсортировать по RootID+SeqOrder При уровне вложенности больше 1 не прокатит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 18:28 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
msLexПосетительдобавьте поле ID(или SeqOrder, если корневые элементы должны тоже в этом порядке следовать) из нерекурсивной части в качестве поля RootID и транслируйте в рекурсивной тогда итог можно будет отсортировать по RootID+SeqOrder При уровне вложенности больше 1 не прокатит. ага. но это тоже лечится. надо еще уровень вложенности добавить. и сортировать по рут+уровень +сиквенс справедливости ради, и ваше решение ругнется на несоответствие типов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 19:12 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
ПосетительmsLexпропущено... При уровне вложенности больше 1 не прокатит. ага. но это тоже лечится. надо еще уровень вложенности добавить. и сортировать по рут+уровень +сиквенс справедливости ради, и ваше решение ругнется на несоответствие типов хотя, нифига так не лечится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 19:18 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
Посетительсправедливости ради, и ваше решение ругнется на несоответствие типовТам от версии зависит. Для ord нужно делать приведение к одному типу, тогда будет везде работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 19:59 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
Посетительсправедливости ради, и ваше решение ругнется на несоответствие типов да я прям на форуме писал, тестовых данных то нет Код: sql 1. вот так должно заработать, при уровне вложенности до 2000 и SeqOrder не больше int ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 20:05 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
alexeyvgТам от версии зависит. По-моему, нет. alexeyvgДля ord нужно делать приведение к одному типу, тогда будет везде работать. Да, я забыл про это просто. Принцип показал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 20:06 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
msLexalexeyvgТам от версии зависит. По-моему, нет.Я сам не сталкивался, но буквально на днях тут прочитал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 20:47 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
alexeyvgmsLexпропущено... По-моему, нет.Я сам не сталкивался, но буквально на днях тут прочитал. на днях там фактически был один и тот же тип в рекурсивной и нерекурсивной части. но без явного приведения. тут же явно разная длина, поэтому точно падало бы, независимо от версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 20:59 |
|
||
|
Рекурсия CTE и Order By
|
|||
|---|---|---|---|
|
#18+
Посетительalexeyvgпропущено... Я сам не сталкивался, но буквально на днях тут прочитал. на днях там фактически был один и тот же тип в рекурсивной и нерекурсивной части. но без явного приведения. тут же явно разная длина, поэтому точно падало бы, независимо от версии.А, понял, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2019, 21:08 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39867061&tid=1687234]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 274ms |
| total: | 545ms |

| 0 / 0 |
