oracle 10g 开始提供的 WMSYS.WM_CONCAT 函数可以实现行转列的效果
select * from idtable;
select wmsys.wm_concat(name) name from idtable;
select id ,wmsys.wm_concat(name) name from idtable group by id;
oracle11g 可以用listagg()替换wmsys.wm_concat()实现行转列,提高性能
select id, listagg(t.name, ',') within group(order by null)
from idtable t
group by t.id;