我有一個組織表看起來像這樣:反向開始有了
USER_ID | USER_NAME | RPT_TO_USR
1 Bob 2
2 John 3
3 Wendy {null}
我試圖建立一個查詢,將建立自己的組織,並確定不同的等級。我能做到這一點,如果我有我想開始通過CONNECT BY
SELECT USER_ID, USER_NAME, RPT_TO_USR, LEVEL
FROM USERTABLE
START WITH USER_ID = 1
CONNECT BY USER_ID = PRIOR RPT_TO_USR
不過,我要開始與用戶3,構建關閉特定的用戶。我一直在評論Oracle文檔和一些關於堆棧溢出的CTE文章,試圖看看這是否是一種解決方案,或者是否有方法來逆轉START WITH
CONNECT BY
的流程,但到目前爲止我還沒有取得任何成功。
基本上,而不是開始與鮑勃,並知道他向約翰報告溫蒂報告,我想從溫迪開始,並知道約翰報告給她,鮑勃報告約翰。
謝謝。這是一個很好的例子,而且我最終的結果不僅僅是您使用RPT_TO_USR的方式。 – Alexander