日期:2014-05-17  浏览次数:20922 次

树形节点查询求解,求大神帮忙啊!思路或sql都ok啊。
以前的sql:select  a.parenttreeid,a.orgstrucmanagetreeid,a.orgstrucmanagetreecode, a.orgstrucmanagetreename from  orgstrucmanagetree a
   start with a.orgstrucmanagetreeid =? connect by prior a.orgstrucmanagetreeid = a.parenttreeid  


原始结果:
        parenttreeid orgstrucmanagetreeid orgstrucmanagetreecode orgstrucmanagetreename
100000001 100000380 test01         test01
100000380 100000400 test0101 test0101
100000400 100000401 test0102 test0102
100000201 100000260 01010201 四川
100000204 100000213 0101010102 吉林
100000205 100000219 0101010201 河北


求得到的结果为:
    部门code      部门名称         下属code   下属名称
   test01    test01   test0101 test0101
   test01    test01   test0102 test0102
   01010201     四川  
   0101010102     吉林
   0101010201     河北


菜鸟膜拜大神出山!

------解决方案--------------------
虽然没看懂意思,站个队,拿点分吧。
------解决方案--------------------
由你的语句,和结果看你的数据应是不全的

你的这句话:
select a.parenttreeid,a.orgstrucmanagetreeid,a.orgstrucmanagetreecode, a.orgstrucmanagetreename from orgstrucmanagetree a
  start with a.orgstrucmanagetreeid =? connect by prior a.orgstrucmanagetreeid = a.parenttreeid 

根本得不到你说的那个结果,不管你的“?”填的是什么
------解决方案--------------------
从数据上看,非树型结构!
给你一个思路,你找出有对应树型结构的数据,然后union 上没关系的数据