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

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
原文地址:https://www.cnblogs.com/0916m/p/13303950.html