|
Рекурсия и cycle
|
|||
---|---|---|---|
#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. 29. 30. 31. 32. 33. 34. 35.
Результат: LVL OTPRAVITEL POLUCHATEL PATH1 Склад_4 Склад_8 Склад_4 --> Склад_81 Склад_4 Склад_9 Склад_4 --> Склад_92 Склад_9 Склад_2 Склад_4 --> Склад_9 --> Склад_23 Склад_2 Магазин 5 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 54 Магазин 5 Склад_10 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 5 --> Склад_105 Склад_10 Магазин 6 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 5 --> Склад_10 --> Магазин 64 Магазин 5 Склад_3 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 5 --> Склад_35 Склад_3 Магазин 5 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 5 --> Склад_3 --> Магазин 5 А ожидаемый результат: LVL OTPRAVITEL POLUCHATEL PATH1 Склад_4 Склад_9 Склад_4 --> Склад_92 Склад_9 Склад_2 Склад_4 --> Склад_9 --> Склад_23 Склад_2 Магазин 5 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 54 Магазин 5 Склад_3 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 5 --> Склад_35 Склад_3 Магазин 5 Склад_4 --> Склад_9 --> Склад_2 --> Магазин 5 --> Склад_3 --> Магазин 5 Заранее благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 20:10 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
AXEL_111, CONNECT_BY_ISCYCLE, nocycle ps как-то странно вы ищете цикл, напр если цикл на третьем левеле .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 10:04 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
Stax, что за подсказки?? Где готовое решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 11:51 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
Lary Denis Stax, что за подсказки?? Где готовое решение? готового нет, дипресняк не знаю требований, мож там дерево на млн строк макет, решение влоб на практике возможно делать так нельзя Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 12:10 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
AXEL_111, Без даты движения или иного нарастающего показателя интерпретировать ваши данные можно как угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 12:17 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
env, ето просто пример дерева не обязательно поставки, можно и на начальник/подчиненный ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 12:25 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
env AXEL_111, Без даты движения или иного нарастающего показателя интерпретировать ваши данные можно как угодно. Цикл может быть и в первом звене и в третьем (в этом и вся загвоздка). По исходному значению запрос строится за определенный период. Нужно видеть связь объектов (прямую или через звено/звенья). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:06 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
Stax Lary Denis Stax, что за подсказки?? Где готовое решение? готового нет, дипресняк не знаю требований, мож там дерево на млн строк макет, решение влоб на практике возможно делать так нельзя Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
..... stax Спасибо за помощь. Сейчас буду пробовать отработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:11 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
AXEL_111 в первом звене ето poluchatel = otpravitel = 'Склад_4' .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:15 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
Stax AXEL_111 в первом звене ето poluchatel = otpravitel = 'Склад_4' .... stax Прошу прощение, ОШИБСЯ. Второе звено, когда обратно на 'Склад_4' ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:32 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
AXEL_111 Сейчас буду пробовать отработать. мож Вам для анализа будет просто достаточно sys_connect_by_path Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
зы можно искать "листовой" узел с ISCYCLE и от него ити обратно к корню ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:43 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
AXEL_111, Из чего следует, какое звено в цикле первое? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:44 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
env AXEL_111, Из чего следует, какое звено в цикле первое? Например ветка: Склад_4>Склад_9>Склад_2>Магазин 5>Склад_3>Магазин 5 1зв. Склад_4>Склад_9; 2зв. Склад_9>Склад_2; 3зв. Склад_2>Магазин 5; 4зв. Магазин 5>Склад_3; 5зв. Склад_3>Магазин 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 17:12 |
|
Рекурсия и cycle
|
|||
---|---|---|---|
#18+
AXEL_111, Как имея на руках только данные понять, что ветка начинается со Склад4? Без дополнительного внешнего контекста. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 17:47 |
|
|
start [/forum/topic.php?fid=52&fpage=27&tid=1880489]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 416ms |
0 / 0 |