多行查询数据合并成一行进行展示

oracle 10g以上 一个wm_concat函数
行转列

SQL> select wm_concat(name) from test;
WM_CONCAT(NAME)

-------------------------------------------------------------------------

a,b,c,d,e

把结果里的逗号替换成"|"


SQL> select replace(wm_concat(name),',','|') from test;

REPLACE(WM_CONCAT(NAME),',','|')

-----------------------------------------------------------------------

a|b|c|d|e

按ID分组合并name

SQL> select id,wm_concat(name) name from test group by id;

ID NAME

---------- ------------------------------

1 a,b,c

2 d,e
posted @ 2020-07-15 10:08  π=3.1415926  阅读(189)  评论(0编辑  收藏  举报