榮工又解決問題了:用ORACLE的sys_connect_by_path函式,獲得遞迴查詢路徑上各個節點的運算值
阿新 • • 發佈:2019-02-01
語句示例如下
Select JgId,JgType,OrgCode,Orgname,DepCode,DepName,ClsCode,ClsName,EtpCode,EtpName
sys_connect_by_path(PlanRate,'*')from Tplnstruct start with JgId=10010000000101
connect by prior JgId=PreJgId
order by JgType
sys_connect_by_path函式應該是以指定字元做分隔符,列出路徑上指定欄位的值,以星號做分割符
就獲得了Tplnstruct表在以JGID為線索的遞迴查詢中的路徑上節點值的乘積。。。我寫了些啥。。。自己也不太懂,反正!!
最後的結果是
組織的PlanRate 乘以 部門的PlanRate 乘以 專櫃的PlanRate
從原生的查詢結果看,這個遞迴查詢用的是先根遍歷法