字符合并分组问题

来源:互联网 发布:sql性能监视器 编辑:程序博客网 时间:2024/04/29 10:10

 表air有以下三个字段
id    name      memo
12    kk_123    备注
13    kk_426    备注2
12    kk_156    备注

现要得到如下结果应该如何做呢?
id    name                       memo
12    kk_123/kk_156      备注
13    kk_426                   备注2

 

 

1.oracle 10g才能用
select id,replace(wmsys.wm_concat(name),',','/') name,memo from air group by id,memo;

 

2.select id, memo, ltrim(max(sys_connect_by_path(name, ',')), ',') from   
(select row_number() over(partition by table1.id,table1.memo order by name) rn,table1.* from air table1)   
start with rn = 1   
connect by prior rn = rn - 1 and prior id = id   
group by id, memo  
order by id  

 参考http://hi.baidu.com/graceyan/blog/item/6cc3a935e89f748ca71e120f.html