powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / сортировка поля, полученного как WAY = SYS_CONNECT_BY_PATH( prev, '/')
4 сообщений из 4, страница 1 из 1
сортировка поля, полученного как WAY = SYS_CONNECT_BY_PATH( prev, '/')
    #39527633
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поле WAY = SYS_CONNECT_BY_PATH( prev, '/') - так оно было реально сформировано. Только их получилось ... с циклическими перестановками из зацикленного дерева.
Хочу это поле упорядочить, чтобы потом сгрупировать.
Попытка распарсить:
Код: plsql
1.
2.
3.
4.
5.
6.
select dd.*, RegExp_substr( dd.way, '[^/]+', 1, level) as str
    from (
        select 6 as n, '/6/3/2/5/9/7/8/4' as way from dual  union
        select 5 as n, '/5/9/7/8/4/6/3/2' as way from dual
    ) dd
    connect by  RegExp_substr( dd.way,'[^/]+', 1, level) is not null

Однако для одной строки выдаёт нужные 9 строк, а для 2-х (как в примере) их дофига 510, хотя ожидал 18.
Не понимаю почему так много? вроде даже 510 = 3*17*10 не бъётся с 9*9.
Длина поля заранее неизвестна.

Можете помочь?
...
Рейтинг: 0 / 0
сортировка поля, полученного как WAY = SYS_CONNECT_BY_PATH( prev, '/')
    #39527656
exp98,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select dd.*, RegExp_substr( dd.way, '[^/]+', 1, level) as str
    from (
        select 6 as n, '/6/3/2/5/9/7/8/4' as way from dual  union
        select 5 as n, '/5/9/7/8/4/6/3/2' as way from dual
    ) dd
    connect by  RegExp_substr( dd.way,'[^/]+', 1, level) is not null
    and prior dd.way = dd.way
    and prior dbms_random.value is not null
...
Рейтинг: 0 / 0
сортировка поля, полученного как WAY = SYS_CONNECT_BY_PATH( prev, '/')
    #39527658
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98а для 2-х (как в примере) их дофига 510, хотя ожидал 18. Вопрос по connect by
...
Рейтинг: 0 / 0
сортировка поля, полученного как WAY = SYS_CONNECT_BY_PATH( prev, '/')
    #39527694
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх, спасибище!
Я думал, что приор можно опускать.
А вот кто объяснит мне магическое влияние "prior dbms_random.value " ? В фантазиях я предполагаю как-то, а в доке оно есть?

А по ссылке осознал пока только, что иерархич-й запрос является целым фреймворком.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / сортировка поля, полученного как WAY = SYS_CONNECT_BY_PATH( prev, '/')
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]