|
|
|
как запросом распаковать "рекурсивную" таблицу в плоскую?
|
|||
|---|---|---|---|
|
#18+
Наверняка вопрос не новый, но не нашёл похожего. Пусть исходная - P (ссылки на Продукты, к-рые состоят из п/продуктов, сейчас по факту до 10-го уровня вложенности ). Из Р при помощи CONNECT BY PRIOR ... START WITH получаю Tree (level, id, parent) Понятно, что если level=1, то root(= parent ) - это головной продукт. Непонятно только как root пристроить ко всем level для каждого головного, чтобы получилось типа (level, id, parent, root) ? иначе без root я не смогу выделить строки, относящиеся к одному Продукту. Часть п/продуктов являются самостоятельными Продуктами, тогда в Tree они дополнительно дают свою собственную ветку. Мне нужно распаковать именно запросом , не используя вызовы хранимок. Пусть в нём будут With/Union/join etc. Кто как такое делал? Подсказки приветствуются. Tree: сгруппировал строки для большей ясности, в реале они вперемежку Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 12:54:32 |
|
||
|
как запросом распаковать "рекурсивную" таблицу в плоскую?
|
|||
|---|---|---|---|
|
#18+
RTFM CONNECT_BY_ROOT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 12:57:07 |
|
||
|
как запросом распаковать "рекурсивную" таблицу в плоскую?
|
|||
|---|---|---|---|
|
#18+
ща посмотрю, сам не догадался посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 12:58:57 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39301853&tid=1887557]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
182ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 495ms |

| 0 / 0 |
