[PHP]SQL> create table zs (id varchar2(5),name varchar2(10),zsm varchar2(20),zshm varchar2(20));
表已创建。
SQL> insert into zs values('12345','张三','证书一','123456789');
已创建 1 行。
SQL> insert into zs values('54321','李四','证书三','789456123');
已创建 1 行。
SQL> insert into zs values('12345','张三','证书二','987654321');
已创建 1 行。
SQL> insert into zs values('12345','张三','证书三','654321987');
已创建 1 行。
SQL> insert into zs values('54321','李四','证书一','321654987');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select replace(id||','||name||max(sys_connect_by_path(a,',')),'*',',') as str
2from (
3select id,name,zsm||'*'||zshm as a,row_number() over(partition by name order by id) r
4from zs
5) start with r=1
6connect by prior r=r-1 and prior id=id and prior name=name
7group by id,name;
STR
--------------------------------------------------------------------
12345,张三,证书一,123456789,证书二,987654321,证书三,654321987
54321,李四,证书三,789456123,证书一,321654987
[/PHP]
不知道这样可以不可以?
|