【发布时间】:2017-06-30 14:35:35
【问题描述】:
这个问题与我之前的问题有些关系: Oracle SQL Connect By Logic
表:
create table temp (emp_id varchar2(3), manager_id varchar2(3))
数据:
E10 E20
E20 E50
E30 E50
E40 E40
E50 E90
E90 E90
我想创建一个查询以使用 connect by 向上查找父-父记录,而不是获取子记录。
解决办法:
Select EMP_ID
from temp
Start with EMP_ID = 'E20'
Connect by NOCYCLE EMP_ID = Prior MANAGER_ID
order by EMP_ID
但是,根据我的要求,我需要获取所有父母,并且上述查询在 E90 处停止。 [可能是因为 NOCYCLE 作为 E90 的 emp 和 manager 相同]。
查询输出:
E20
E50
所需输出:
E20
E50
E90
请指教。
【问题讨论】: