我有一个表员工,其中包含经理和员工的层次结构数据。
示例数据。
empId ManId
101 100
102 100
1010 101
1011 101
10101 1010
我需要找到关卡,但它没有给我正确的输出。我需要像
这样的输出level Emp ID Man Id
1 101 100
1 102 100
2 1010 101
2 1011 101
3 10101 1010
无论输入为Emp ID还是Man ID,输出都应保持不变。当我使用经理ID为100时,我只获取输出但是当我将值传递为10101时它不起作用
select distinct
level,
manager_id,
employee_id
from employees
START WITH manager_id = 100
connect by manager_id= prior employee_id
order by level
答案 0 :(得分:0)
START WITH子句用于指定层次结构的根行,该行是具有101值的员工ID
请使用以下
select distinct
level,
manager_id,
employee_id
from employees
where level<=3
START WITH employee_id = 101
connect by manager_id= prior employee_id
order siblings by employee_id
Update1: - : - 如果根行不具体,您可以删除START WITH
select distinct
level,
manager_id,
employee_id
from employees
where level<=3
connect by manager_id= prior employee_id
order siblings by employee_id
查看此链接以获取更多信息 Hierarchical Queries