Независимый форум, посвященный системе БОСС-Кадровик и всему, что с ней связано
|
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
rebel25 Большой шоколадный орден

Зарегистрирован: 06.10.2008 Сообщения: 580 Откуда: Москва
|
Добавлено: Чт Окт 09, 2014 16:18 Заголовок сообщения: Иерархическую структуру из дерева в список. |
|
|
Нужно вывести иерархическую структуру в список, чтобы в первом столбце элементы нулевого уровня, во втором, второго и т д. Скажите, как это сделать? может где есть готовый список или вьюха?
Мне не хватает поля уровень. |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Чт Окт 09, 2014 18:23 Заголовок сообщения: |
|
|
WITH tree_ (id, NestingLevel, name, parent, id_firm, sort, Flag_deleted) AS
(
SELECT S.struct_code AS id, 0, S.struct_name, S.struct_parent, S.id_firm, S.sort, S.Flag_deleted
FROM structs AS S
WHERE S.struct_parent = 0 OR S.struct_parent IS NULL
OR struct_parent = struct_code
UNION ALL
SELECT struct_code, (NestingLevel + 1), struct_name, structs.struct_parent, structs.id_firm, structs.sort, structs.Flag_deleted
FROM structs INNER JOIN tree_ ON tree_.id = structs.struct_parent
)
SELECT id, NestingLevel, name, parent, id_firm, sort
FROM tree_
WHERE id_firm = @@id_firm
AND ( Flag_deleted = 0 OR Flag_deleted is NULL )
ORDER BY ABS(sort) NO_HINT |
|
Вернуться к началу |
|
 |
rebel25 Большой шоколадный орден

Зарегистрирован: 06.10.2008 Сообщения: 580 Откуда: Москва
|
Добавлено: Пт Окт 10, 2014 18:38 Заголовок сообщения: |
|
|
Спасибо, переписал для иерархических структур
WITH tree_ (id, NestingLevel, name, parent) AS
(
SELECT S.id AS id, 0, DBO.UDF_pr_structs_tree(s.pr_structs_el_typ, s.pr_structs_el_id), S.id_parent
FROM pr_structs_tree AS S
WHERE S.id_parent = 0 OR S.id_parent IS NULL OR id_parent = id
UNION ALL
SELECT pr_structs_tree.id, (NestingLevel + 1), DBO.UDF_pr_structs_tree(pr_structs_el_typ, pr_structs_el_id), id_parent
FROM pr_structs_tree INNER JOIN tree_ ON tree_.id = pr_structs_tree.id_parent
)
SELECT id, NestingLevel, name, parent
FROM tree_ |
|
Вернуться к началу |
|
 |
rebel25 Большой шоколадный орден

Зарегистрирован: 06.10.2008 Сообщения: 580 Откуда: Москва
|
Добавлено: Пн Окт 13, 2014 12:23 Заголовок сообщения: потомки |
|
|
RVV
Не подскажите ешё как для иерархических структур создать аналог таблицы tree? - мне нужно для каждого узла знать потомков всех уровней. |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пн Окт 13, 2014 15:01 Заголовок сообщения: |
|
|
С иерарх.структурами не знаком, так что сами поиграйтесь с запросом |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|