需求1: 查询有几条记录,N个字段,但只有一个字段的值不同,现在需要将多条记录合成一条,值不同的字段采用逗号拼接
解决方法:listagg(xxx,’,’) within group (order by xxx)
oralce 11g,多条记录,仅有一个字段你的值不一样,需要拼接成一条
select xx, listagg(p.process_user,',') within GROUP (order by b.id) from table group by xxx
xxx为不需要拼接的所有字段
如果有不需要拼接的字段,一定要用group by
需求2: 查询多条记录,直接拼接成一条:
如图:
解决方法: 同样使用listagg(xxx, ‘,’) within group(order by xxxxx)
如图: