我正在尝试重现本教程中的第一个简单示例。
但是,我不明白为什么我会返回这么多行。我希望 1 仅在 1 级而不是 2 级向 2 报告。
SQL> select employee_id, reports_to from employees;
EMPLOYEE_ID REPORTS_TO
----------- ----------
1 2
2
3 2
4 2
5 2
6 5
7 5
8 2
9 5
9 rows selected.
SQL> select employee_id, reports_to, LEVEL from employees connect by prior employee_id = reports_to;
EMPLOYEE_ID REPORTS_TO LEVEL
----------- ---------- ----------
1 2 1
8 2 1
5 2 1
6 5 2
9 5 2
7 5 2
4 2 1
3 2 1
6 5 1
9 5 1
7 5 1
EMPLOYEE_ID REPORTS_TO LEVEL
----------- ---------- ----------
2 1
1 2 2
8 2 2
5 2 2
6 5 3
9 5 3
7 5 3
4 2 2
3 2 2
20 rows selected.