0

我提出了一个请求,应该像这样返回所有ids 和那些父母的ids 直到树的高处:

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必须允许我让所有 id 的父母都加入in (21,36)

但它只返回 21 和 36,而它也应该返回这样的父值:36、20、31、52。我说的对吗?

我怎样才能做到这一点?

4

1 回答 1

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
于 2013-07-22T13:37:08.200 回答