回答

收藏

在Oracle其他表格在树查询中联系

技术问答 技术问答 250 人阅读 | 0 人回复 | 2023-09-13

给定一个简单的(id,描述)表t1,例如' W" Y2 }  m9 j: L% u
id  description--  -----------1   Alice2   Bob3   Carol4   David5   Erica6   Fred还有父子关系表t2,如
6 d, K0 @3 }+ T7 ~' wparent  child------  -----          21       34   555555         655                555555555555         55555                               5555Oracle提供了一种通过一些自定义语法扩展将其遍历为树的方法:
! i/ o' t) i' X  qselect parent,child,sys_connect_by_path(child,'/') as "path"from t2connect by prior parent = child确切的语法并不重要,我可能会在上面犯错误。重要的是,上面的东西会产生类似的东西1 t& {# E5 a0 f( r. K1 H" B
parent  child  path------  -----  ----                                  5                                                 5/34                  5/5/64                                      5/5/6我的问题是这样的:到吗?sys_connect_by_path()连接另一个表,如上面t1表,以产生类似以下内容的结果:0 R0 L" @5 R- C0 j
parent  child  path------  -----  ----1       2        Alice/Bob1       3       Alice/Carol... and so on...                  q3 \' S1 b) I" z! K
    解决方案:                                                               
% X* r% H" }* o! m0 {( f                                                                在您的查询中,将T2替换为连接T1和T2.返回父项、子项和子项描述的子查询。sys_connect_by_path在函数中,引用子查询中的子描述。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则