Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.04.2009, 09:39
|
|||
|---|---|---|---|
|
|||
Деревья в Postgres |
|||
|
#18+
Есть таблица: Код: plaintext Код: plaintext 1. 2. 3. 4. 1 2 3 4 5 Вопрос такой. Необходимо получить список элементов дерева, находящихся ниже заданной ветки. Пишу функцию Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Должно получится так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Но почему-то функция не хочет уходить в рекурсию и выдает Код: plaintext 1. 2. 3. 4. 5. 6. В чем ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2009, 09:41
|
|||
|---|---|---|---|
|
|||
Деревья в Postgres |
|||
|
#18+
Ну в смысле create table AAA (ID integer, PARENT integer); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2009, 10:35
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
coolmihaНо почему-то функция не хочет уходить в рекурсию и выдает Код: plaintext 1. 2. 3. 4. 5. 6. В чем ошибка?ошибка в том, что перформ не возвращает данные в _вашу_ последовательность RETURN-ов т.ч. вам надо ~ Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2009, 11:14
|
|||
|---|---|---|---|
|
|||
Деревья в Postgres |
|||
|
#18+
попробуйте connectby из contrib/tablefunc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2009, 14:50
|
|||
|---|---|---|---|
|
|||
Деревья в Postgres |
|||
|
#18+
Окончательный вариант Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: plaintext 1. 2. 3. 4. 5. Всем спасибо. Решение можно внести в дискурс) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2009, 07:53
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
coolmihaОкончательный вариант Всем спасибо. Решение можно внести в дискурс) в 8.4 добавят CTE, там можно будет по-другому делать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2016, 11:10
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
coolmiha, как убрать в выводе последнюю запятую и добавить в вывод parent_id? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2016, 11:35
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
fobster, вы нашли решение прошлогодней давности используйте специальный тип данных дерево + расширение для работы с деревьями деревья с учетом индексов получите быстрое решение по нахождению любых элементов дерева ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2016, 11:59
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
Legushka, спасибо за ответ :) все-таки интересует решение в рамках подобной задачи, когда дерево организовано через id, parent_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.11.2016, 16:18
|
|||
|---|---|---|---|
|
|||
Деревья в Postgres |
|||
|
#18+
fobster, покажите пример исходных данных и результата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2016, 12:38
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
Код: sql 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. SharuPoNemnogu, как в данном запросе вывести не только всех детей, но и родителя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2016, 14:06
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
fobsterкогда дерево организовано через id, parent_id у мну на рабочей бд аналогично, но классификатор обновлялся не так часто, я через вьюху загнал в формат ltree-) но у нас и задача была такой, что надо было в одном запросе показать например все листья из группы А, но при этом одновременно выделить отдельно А.А12.А2 и все что в нее входит в отдельную группу товаров. + в эту эе новую группу добавить еще и Q.Q01... Лучшее способа чем описать все через ltxtquery не нашел) компактные запросы со сложной логикой. (если таблица изначально так организована, то можно использовать GIN GIST индексы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2016, 14:19
|
|||
|---|---|---|---|
|
|||
Деревья в Postgres |
|||
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.12.2016, 16:38
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
SharuPoNemnogu, От корня Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Тема раскрыта здесь http://shop.oreilly.com/product/9780596008949.do ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.12.2016, 19:02
|
|||
|---|---|---|---|
|
|||
Деревья в Postgres |
|||
|
#18+
d3a, а мне то оно зачем? я повторил пример выше более легким способом, а там суть в том, чтобы от любого элемента построить дерево, а не от корня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2016, 13:05
|
|||
|---|---|---|---|
Деревья в Postgres |
|||
|
#18+
SharuPoNemnogu, Звиняйте, кнопочкой помахнулся - хотел просто в тред запостить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1996824]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 172ms |

| 0 / 0 |
