在10G 10.2.0.4 下查不出数据,但是在 10.2.0.1 中可以
语句如下
Select Sys_Connect_By_Path(ceseid, ',') as OutStr
  From (Select Rownum Rid, Rownum + 1 Next_Rid, ceseid, enable
          From (select * from PS_Corporate_structure where enable = 0))
 Where Rid =
       (Select Count(*)
          From (select * from PS_Corporate_structure where enable = 0))
 Start With Rid = 1
Connect By Prior Next_Rid = Rid功能就是行转列,等同于
select wmsys.wm_concat(ceseid)  from PS_Corporate_structure 想问数据库是不是要打什么补丁??

解决方案 »

  1.   

    不需要吧?可能是你得测试数据不一样。或者你测试得时候insert了但是没有commit?
      

  2.   

    语句本身逻辑是没问题的,说了在在10G 10.2.0.4 下查不出数据,但是在10G 10.2.0.1 中可以 。
    相同的数据结构 相同的数据。原因在
    10.2.0.4 下 无法正确识别  Rownum + 1 Next_Rid   加括号 加as 都不行,解决办法 还是改这个语句 ,当时相对改的教小了。Select Sys_Connect_By_Path(ceseid, ',') as OutStr 
      From (Select Rownum Rid, Rownum + 1 Next_Rid, ceseid, enable 
              From (select * from PS_Corporate_structure where enable = 0)) 
    Where Rid = 
          (Select Count(*) 
              From (select * from PS_Corporate_structure where enable = 0)) 
    Start With Rid = 1 
    Connect By Prior Next_Rid = Rid =====>Select Sys_Connect_By_Path(ceseid, ',') as OutStr 
      From (Select Rownum Rid, Rownum + 1 Next_Rid, ceseid, enable 
              From (select * from PS_Corporate_structure where enable = 0)) 
    Where Rid = 
          (Select Count(*) 
              From (select * from PS_Corporate_structure where enable = 0)) 
    Start With Rid = 1 
    Connect By Prior Rid +1 = Rid    //这里 .........