-
kate158, прочитайте внимательно stas © (11.10.16 15:19) [5]
-
стасик, зачем ей читать твоё пять, если тебе русским языком написали, что дерево кривое, и рекурсивный запрос на ихней иерархии зацикливается.
вот тем и не устраивает.
-
iop © (12.10.16 19:21) [21] Тоже верно. Точнее stas © (11.10.16 15:22) [6]. Можно конечно в цикле поставить максимальный уровень вложенности, допустим 100. Но это закопать проблему еще глубже.
iop © (12.10.16 17:49) [18] Есть еще вариант: id=1, parentId=3 id=2, parentId=1 id = 3 parentId=2
-
> iop © (12.10.16 19:21) [21]
чем дерево кривое? на хабре полно статей про такую структуру дерева, где parent_id=id id=1 parent_id=пусто id=2 parent_id=1 id=3 parent_id=1 id=4 parent_id=2 id=5 parent_id=2 сейчас ничего не зацикливается, но в случае логической ошибки может. так сказали наши программисты. я с этим не сталкивалась, не знаю. но мой запрос завернули :)
-
kate158 © (13.10.16 11:14) [23] А не проще сделать check на логическую ошибку при записи?
-
чем дерево кривое? на хабре полно статей про такую структуру дерева, где parent_id=id
корнет, вы женщина?
-
kate158 © Вы наверное все таки напишите запрос, чтобы понять как работает рекурсивное дерево.
-
iop © (13.10.16 11:28) [25] я в этом не виновата :)
-
> stas © (13.10.16 11:31) [26]
stas © (13.10.16 11:31) [26]with t as(
SELECT id, parent_id, name
FROM accounts.groups b WHERE id='7e8a97b0-7353-11e6-84f9-2314e71f8a19'
union all
select a.id, a.parent_id, a.name
from accounts.groups as a
inner join b on b.parent_id = a.id)
select * from t ?
-
kate158 © (14.10.16 16:07) [28] Имел ввиду, доделайте тот,что начали ).
|