求Oracle最快算法!
表:
___________________________
ID NAME DEPTNAME
1 A A1
2 A A2
3 A A3
4 B B1
5 B B2
6 B B3
7 B B4
8 C C1
9 C C2要求查询结果:
__________________________
ID NAME DEPTNAME
1 A A1,A2,A3
2 B B1, B2, B3, B4
3 C C1,C2求Oracle最快算法!

解决方案 »

  1.   

    SELECT NAME,WMSYS.WM_CONCAT(DEPTNAME ) DEPTNAME FROM YOUTABLE
    GROUP BY NAME
      

  2.   

    WMSYS.WM_CONCAT 是oracle10的函数
    9可以用sys_connect_by
      

  3.   

    sys_connect_by_path  少写了点
      

  4.   

    sys_connect_by_path不行,好像说sys_connect_by_path只是用在树查询上面的
      

  5.   

    select substr(max(sys_connect_by_path(dept,',')),2),name from 
    (select 1+row_number() over(partition by name order by id) rn,row_number() over(partition by name order by id) rn1 ,name,dept from a)
    start with rn1=1
    connect by rn1=prior rn and name=prior name
    group by name