Вход | Регистрация
 

Дерево из плоской таблицы

Дерево из плоской таблицы
Я
   Stim
 
11.06.19 - 15:23
Все строки дерева лежат в плоской таблице Ид ИдРодителя
Как максимально экономно(таблица оч большая) обойти всю таблицу и собрать дерево из строк?
 
 
   ДенисЧ
 
1 - 11.06.19 - 15:25
Пихнуть в запрос и получить оттуда через ИТОГИ
   Stim
 
2 - 11.06.19 - 15:30
(1) итоги по какому полю?
   RomanYS
 
3 - 11.06.19 - 15:45
(2) ИдРодителя конечно же. Только за один проход только один уровень можно просто собрать.
   mistеr
 
4 - 11.06.19 - 15:47
Пихнуть в СКД, описать иерархию в связях и выгрузить в ДЗ.

А что значит "экономно" в данном случае7
   Вафель
 
5 - 11.06.19 - 15:47
дерево для чего нужно? вывести в на форму?
   mistеr
 
6 - 11.06.19 - 15:47
(1) В запросе получится только, если это "естественная" иерархия (ссылки на справочник).
   Вафель
 
7 - 11.06.19 - 15:48
если на форму не нужно выводить, достаточно отсортировать и в обходе смотреть на смену родителя
   Stim
 
8 - 11.06.19 - 15:50
(3) вот и да. А мне неизвестно сколько всего там уровней
   Stim
 
9 - 11.06.19 - 15:50
(4) экономно = наименее ресурсозатратно
   Stim
 
10 - 11.06.19 - 15:50
(5) да, нужно вывести на форму деревом
   Вафель
 
11 - 11.06.19 - 15:59
в 1 проход вполне можно сделать иерархическое дерево из таблицы, без НайтиСтроки
   Вафель
 
12 - 11.06.19 - 15:59
обходишь, родителей в соответствие кладешь
   GRAF_84
 
13 - 11.06.19 - 16:00
   Вафель
 
14 - 11.06.19 - 16:59
(13) плохая реализация
   Сияющий в темноте
 
15 - 11.06.19 - 19:20
за один проход может не получиться,если родитель лежит после потомков,тогда или таких потомков писать в массив с привязкой к родителю или проходить второй раз,размещая.
   Сияющий в темноте
 
16 - 11.06.19 - 19:25
а вообще,три соответствия
первое,элемент в строку дерева для уже размещенных.
вторая элемент и массив дочерних,для еще не размещенных,
третье,все неразмещенные элементы,чтобы к ним цепочки неразмещенных цеплять.
   Fram
 
17 - 12.06.19 - 04:26
Я б через рекурсию сделал. А если таблица ооочень большая, то подгружал бы ветки динамически при раскрытии

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.