oracle内置函数 wmsys.wm_concat使用

函数名:wmsys.wm_concat

作用:以逗号分隔连接列的值

oracle 10g引入。使用时直接用wm_concat也可以。

以下介绍一些实际使用的状况。介绍实际Case前先建立一个测试table和一些测试数据。


两张表: employee,prject;属性如下

1)employee: 员工ID号,员工名,部门

测试数据

0001 user1 IT
0002 user2 IT

2)prject:项目ID号,负责的员工ID号

测试数据

PN001 0001
PN002 0001
PN003 0001
PN004 0001
PN010 0002
PN011 0002

对应的SQL如下


Case 1: 列转换行。 以一行显示所有员工的名字

select wmsys.wm_concat(NAME) from employee;

结果: user1,user2


Case 2: join 两张table , 计算员工负责的 项目个数的例子.

结果:

0001 IT 4
0002 IT 2

此Case如果使用Count替代的话也可以,而且写法更简单,但是table很复杂的时候使用count不能达成时,可以考虑这个方式, 此处附上count方式





你可能感兴趣的:(wm_concat)