当前位置: 代码迷 >> Oracle开发 >> 有一个怪异的需求,不知道如何写SQL了,Help~
  详细解决方案

有一个怪异的需求,不知道如何写SQL了,Help~

热度:78   发布时间:2016-04-24 06:34:25.0
有一个怪异的需求,不知道怎么写SQL了,Help~~~~~~~!!!!!
Factor_ID Name
10006       张三
10008      李四
10008      张三

我要的结果是:
Factor_ID Name
10006       张三
10008       张三|李四


------解决思路----------------------
数据库什么版本 SELECT *  FROM V$VERSION; 如果是11.2及以后的可以用listagg函数,函数可以百度下
------解决思路----------------------
11.2及以后 listagg函数实现
select Factor_ID,LISTAGG(NAME,'
------解决思路----------------------
') WITHIN GROUP(ORDER BY NAME) Name
from T
GROUP BY Factor_ID

之前版本使用wm_concat实现
select Factor_ID,replace(to_char(wmsys.wm_concat(NAME)),',','
------解决思路----------------------
') Name
from T
GROUP BY Factor_ID
  相关解决方案