[LamoQuestion] Можно ли как-то иначе(компактнее, красивее) записать?

nik93


tree(parentID,childID) AS
(... -- рекурсивный запрос, выдающий граф зависимости элементов друг от друга

tree_unic(id) AS
(
SELECT DISTINCT childID
FROM tree
UNION
SELECT DISTINCT parentID
FROM tree
)

вообще нужно получить ID всех узлов графа

pitrik2

а tree возвращает пустые зависимости?
ну тойсть если у вершины нет детей, то он вернет (parent_id, NULL)
если бы так возвращал то union не нужен, достаточно всех родителей выбрать
если же tree не возвращает пустые зависимости, то при несвязанном графе ты из tree вершины ни с чем не связанные никак не получишь
кстати, граф получается направленный? иначе бы каждая пара дублировалась бы в tree
может у тебя все таки не граф а дерево? тогда все гораздо проще, надо выбрать корень и всех детей

nik93

пустые зависимости не возвращает, надо будет подумать над этим :)
Здесь именно направленный граф без циклов, корней может быть больше одного.
Т.е. вывод, что в данной реализации TSQL не позволяет записать более рационально?
Оставить комментарий
Имя или ник:
Комментарий: