我已经提出了一个请求,它应该返回所有id
和那些父级的id
,直到树的高位为止:
SELECT co.id
from t_factory co
start with co.id in (21,36)
CONNECT BY PRIOR co.id = co.id_parent
所以在这里,in()
中的值以编程方式应用(没问题)。
父亲在列id_parent中,例如我有一行:
id id_parent
-----------
36 20
20 31
31 52
但是,我读到start with
和connect by prior
必须允许我在[{1}}
但它只返回21和36,而它也应该返回这样的父值:36,20,31,52。我是对的吗?
我该怎么做?
答案 0 :(得分:3)
尝试另一个方向:PRIOR co_parent.id = co.id
而不是PRIOR co.id = co.id_parent
SELECT co.id
from t_factory co
start with co.id in (21,36)
CONNECT BY PRIOR co.id_parent = co.id