好文档 - 专业文书写作范文服务资料分享网站

wmsys.wm_concat的几个用法(行转列)

天下 分享 时间: 加入收藏 我要投稿 点赞

http://blog.csdn.net/yy_mm_dd/article/details/3182953

SQL> create table idtable (id number,name varchar2(30)); Table created

SQL> insert into idtable values(10,'ab'); 1 row inserted

SQL> insert into idtable values(10,'bc'); 1 row inserted

SQL> insert into idtable values(10,'cd'); 1 row inserted

SQL> insert into idtable values(20,'hi'); 1 row inserted

SQL> insert into idtable values(20,'ij'); 1 row inserted

SQL> insert into idtable values(20,'mn'); 1 row inserted

SQL> select * from idtable; ID NAME

---------- ------------------------------ 10 ab 10 bc 10 cd

20 hi 20 ij 20 mn 6 rows selected

SQL> select id,wmsys.wm_concat(name) name from idtable 2 group by id; ID NAME

---------- -------------------------------------------------------------------------------- 10 ab,bc,cd 20 hi,ij,mn

SQL> select id,wmsys.wm_concat(name) over (order by id) name from idtable; ID NAME

---------- -------------------------------------------------------------------------------- 10 ab,bc,cd 10 ab,bc,cd 10 ab,bc,cd 20 ab,bc,cd,hi,ij,mn 20 ab,bc,cd,hi,ij,mn 20 ab,bc,cd,hi,ij,mn 6 rows selected

SQL> select id,wmsys.wm_concat(name) over (order by id,name) name from idtable; ID NAME

---------- -------------------------------------------------------------------------------- 10 ab 10 ab,bc 10 ab,bc,cd 20 ab,bc,cd,hi 20 ab,bc,cd,hi,ij 20 ab,bc,cd,hi,ij,mn 6 rows selected

个人觉得这个用法比较有趣.

SQL> select id,wmsys.wm_concat(name) over (partition by id) name from idtable; ID NAME

---------- -------------------------------------------------------------------------------- 10 ab,bc,cd 10 ab,bc,cd 10 ab,bc,cd 20 hi,ij,mn 20 hi,ij,mn 20 hi,ij,mn 6 rows selected

SQL> select id,wmsys.wm_concat(name) over (partition by id,name) name from idtable; ID NAME

---------- -------------------------------------------------------------------------------- 10 ab 10 bc 10 cd 20 hi 20 ij 20 mn 6 rows selected (转)WMSYS.WM_CONCAT 函数的用法 select t.rank, t.Name from t_menu_item t; 10 CLARK 10 KING 10 MILLER 20 ADAMS 20 FORD 20 JONES 20 SCOTT

wmsys.wm_concat的几个用法(行转列)

http://blog.csdn.net/yy_mm_dd/article/details/3182953SQL>createtableidtable(idnumber,namevarchar2(30));TablecreatedSQL>insertintoidtablevalues(10,'ab');
推荐度:
点击下载文档文档为doc格式
5c0181x3iq4bptb10m2m
领取福利

微信扫码领取福利

微信扫码分享