以前的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     河北
菜鸟膜拜大神出山!

解决方案 »

  1.   

     parenttreeid orgstrucmanagetreeid orgstrucmanagetreecode orgstrucmanagetreename
    100000001 100000380 test01  test01
    100000380 100000400 test0101 test0101
    100000201 100000260 01010201 四川
    100000204 100000213 0101010102 吉林
    100000205 100000219 0101010201 河北 求得到的结果为:
      部门code 部门名称 下属code 下属名称
      test01  test01  test0101 test0101
      01010201  四川   
      0101010102  吉林
      0101010201  河北
      

  2.   

    100000001 100000380 test01 test01 
    100000380 100000400 test0101 test0101 
    第二行的parenttreeid 是第一行的 orgstrucmanagetreeid 树节点递归
      

  3.   

    主要是这两行:
    100000001 100000380 test01 test01 
    100000380 100000400 test0101 test0101 第二行parenttreeid (100000380 )是第一行的orgstrucmanagetreeid
      

  4.   


    select a.parenttreeid,a.orgstrucmanagetreeid,a.orgstrucmanagetreecode, a.orgstrucmanagetreename from orgstrucmanagetree a where a.parenttreeid is not null
    select a.orgstrucmanagetreecode as parenttreeid, a.orgstrucmanagetreename orgstrucmanagetreeid,'' as orgstrucmanagetreecode, '' as orgstrucmanagetreename from orgstrucmanagetree a where  not exists ( select t.parenttreeid from orgstrucmanagetree t where a.parenttreeid=t.orgstrucmanagetreecode  )
    --不知道这样的结果是否适合你
    --我没排序的
      

  5.   

    由你的语句,和结果看你的数据应是不全的你的这句话:
    select a.parenttreeid,a.orgstrucmanagetreeid,a.orgstrucmanagetreecode, a.orgstrucmanagetreename from orgstrucmanagetree a
      start with a.orgstrucmanagetreeid =? connect by prior a.orgstrucmanagetreeid = a.parenttreeid 根本得不到你说的那个结果,不管你的“?”填的是什么
      

  6.   

    其实就是一个树形节点查询,查询上下级,不想用函数去做,试着想用一条sql搞出来,
      

  7.   

    从数据上看,非树型结构!
    给你一个思路,你找出有对应树型结构的数据,然后union 上没关系的数据