黑马程序员技术交流社区

标题: Oracle多行合并一列 [打印本页]

作者: 376699155    时间: 2016-1-15 19:38
标题: Oracle多行合并一列
我有一张表是这样的,我希望通过查询语句能把多行姓名合并为一列,姓名用逗号或者空格隔开(例如:SALES   TURNER,ALLEN,MARTIN,WARD,JAMES)
请问各位大神有什么好的实现方式么。。。
虽然知道违背查询的原子性,但是还是希望实现,不知道用什么函数可以实现这种需求。

类别           姓名
SALES         TURNER
SALES         ALLEN
SALES         MARTIN
SALES         WARD
SALES         JAMES
RESEARCH      SCOTT
RESEARCH      JONES
RESEARCH      SMITH
RESEARCH      ADAMS
RESEARCH      FORD
ACCOUNTING    KING
ACCOUNTING    MILLER
ACCOUNTING    CLARK
作者: 376699155    时间: 2016-1-15 19:52
OK,刚刚百度解决了,就是一个函数,貌似要高版本才能用,默认是逗号分隔,如果不想用逗号,可以用replace替换掉!

SELECT A.类别,WMSYS.WM_CONCAT(A.姓名)
FROM A GROUP BY 类别;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2