oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数,将查询结果合并为一行显示。
select WMSYS.WM_CONCAT('"'|| d.col || '"') from table1 d ;
注意:加上group by后合并的是分组后每组的数据的合并结果。
select dbms_lob.substr(wm_concat(distinct t1.LOCATIONID),4000,1) from UDFLoad_111 t1 group by t1.LOCATIONID having count(1) > 1 ;
若想把分组后的不同数据条数大于1的所有记录合并到一起,可以参考一下SQL:
select dbms_lob.substr(wmsys.wm_concat(LOCATIONID),4000,1) from
(select distinct t1.LOCATIONID from UDFLoad_111 t1 group by t1.LOCATIONID having count(1) > 1 );