有表类似这样:
id            name
1              a
1               b
1              c
2              d
2               e
2               g
5               h
想要得到如下的视图:
id             name
1              a,b,c
2              d,e,g
5               h
就是相同的id中,字段name的值连接在一起。如何实现?

解决方案 »

  1.   

    select id,wm_concat(name)name from tt
      group by id
      

  2.   

    3q !但是wm_concat无效的标识符  。。我用的是9i
      

  3.   

    wm_concat是10g当中才有的函数,9i只有通过递归来实现
      

  4.   

    select id,substr(max(sys_connect_by_path(name,',')),2)name from (
        select id,name,row_number()over(partition by id order by rownum)rn from tt)
        start with rn=1
        connect by prior rn=rn-1
        group by id