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

oracle 10g引入。使用时直接用

以下介绍一些实际使用的状况。介绍实际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如下

createtableemployee

(

ID varchar(4)NOTNULLPRIMARYKEY,

NAMEvarchar(20),

DEPT varchar(20)

);

createtableprject

(

PROJECTID varchar(5)NOTNULLPRIMARYKEY,

OWNERID varchar(20)

);

INSERTINTOemployee(ID,NAME,DEPT)Values(‘0001’,‘user1’,‘IT’);

INSERTINTOemployee(ID,NAME,DEPT)Values(‘0002’,‘user2’,‘IT’);

INSERTINTOprject(PROJECTID,OWNERID)Values(‘PN001’,‘0001’);

INSERTINTOprject(PROJECTID,OWNERID)Values(‘PN002’,‘0001’);

INSERTINTOprject(PROJECTID,OWNERID)Values(‘PN003’,‘0001’);

INSERTINTOprject(PROJECTID,OWNERID)Values(‘PN004’,‘0001’);

INSERTINTOprject(PROJECTID,OWNERID)Values(‘PN010’,‘0002’);

INSERTINTOprject(PROJECTID,OWNERID)Values(‘PN011’,‘0002’);

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

select

结果: user1,user2

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

selectt1.ID,t1.DEPT,t2.pcountfrom

(selectID,NAME,DEPTfromemployee) t1leftouterjoin

(selectOWNERID,trunc(length(replace(‘,’,”))/5)aspcountfromprjectgroupbyOWNERID) t2ont1.ID = t2.OWNERID;

结果:

0001    IT    4

0002    IT    2

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

selectt1.ID,t1.DEPT,t2.pcountfrom

(selectID,NAME,DEPTfromemployee) t1leftouterjoin

(selectOWNERID,count(PROJECTID)aspcountfromprjectgroupbyOWNERID) t2ont1.ID = t2.OWNERID;

oracle用分号拼接函数,ORACLE以逗号分隔连接列的值   函数名:wmsys.wm_concat相关推荐

  1. R语言使用order函数按照两个数据列的值排序data.table数据(主变量降序排序、次变量升序排序)

    R语言使用order函数按照两个数据列的值排序data.table数据(主变量降序排序.次变量升序排序) 目录

  2. oracle数据库的拼接字符串,Oracle数据库拼接字符串

    Ora-03113\Ora-03114与Oracle In 拼接字符串的问题 刚深入接触Oracle不久(大学里以及刚参加工作时学到的Oracle知识只能算是皮毛),因为之前使用SqlServer有将 ...

  3. 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...

    原帖:http://www.cnblogs.com/nayitian/p/3231734.html wmsys.wm_concat Definition: The Oracle PL/SQL WM_C ...

  4. oracle存储过程sql拼接日期,Oracle 存储过程中的细节-日期处理

    今天在存储过程中用 to_char来查询制定日期是星期几,本以为时没什么问题的,结果出现了自己不想要的问题. select to_char(sysdate,'day','NLS_DATE_LANGUA ...

  5. python无返回值函数_理解Python 中无返回值函数的问题

    例如 list 的 append 操作就是无返回值的,换句话说就是不能进行形如 list = [] list.append(1).append(2) 这样的连续操作 注意函数返回的数据类型注意是 li ...

  6. php输出二维函数,兼容php二维数组取值函数array_column使用

    PHP5.5发布,其中增加了一个新的数组函数array_column,感觉不错的! 但是低版本PHP要使用,得自己实现: if(!function_exists('array_column')){ f ...

  7. 求和函数,滑动向上/向下取值函数

    1.sum(a) over ()对a列所有值进行求和 sum(a) over (order by b)根据b列排序后,求a列第一行到当前行的所有值的和 2.sum(a) over (partition ...

  8. oracle内置函数 wmsys.wm_concat使用

    函数名:wmsys.wm_concat 作用:以逗号分隔连接列的值 oracle 10g引入.使用时直接用wm_concat也可以. 以下介绍一些实际使用的状况.介绍实际Case前先建立一个测试tab ...

  9. oracle增量 mysql_是否有任何mysql / Oracle函数给予增量号。基于另一列相似值的一列?...

    我有兴趣知道是否有任何MySQL / Oracle函数给增量号.在另一列相似的值的基础上的一列? 就像在我的下面的代码中,我有order_primary列,其中包含订单号.所以基于此我们可以确定有多少 ...

最新文章

  1. [NOIP模拟测试3] 建造游乐园 题解(欧拉图性质)
  2. Docker - command in docker container
  3. chapter2 机器学习之KNN(k-nearest neighbor algorithm)--K近邻算法从原理到实现
  4. 腾讯 AngelFL 联邦学习平台揭秘
  5. 端午将至……想和程序猿Coding个粽子行不行?
  6. Builder(生成器)--对象创建型模式
  7. JS----文档对象模型
  8. 推动Windows的限制:进程和线程
  9. JeecgBoot轻松解决ERP项目复杂布局需求,JVXETable高性能行表格效果和项目案例
  10. MSSQL Express版本自动备份数据库
  11. 阿里千亿级购物节背后,淘宝智能客服架构演进之路
  12. windows2003 ftp 无法下载 解决
  13. 微型计算机及接口技术考试卷,微机原理与接口技术考试试题及答案 2
  14. studiolibrary安装_DAZ Studio 3D扩展包安装使用教程
  15. matlab中的变换器,buck变换器介绍_buck变换器matlab仿真
  16. 杜克大学用13幅图告诉你人生的真谛,值得深思!
  17. 360手机:360手机刷机 救砖 Twrp、Root、Magisk、360N4S骁龙版、360N5、N5S、N6、N6Lite、N6PRO、N7、N7Lite、N7PRO、Q5、Q5Plus
  18. 程序员如何做SOHO一族接私单做呢?
  19. 安全牛:安全与业务不存在平衡 证明价值是关键
  20. android直播录像,安卓手机怎么录制直播视频

热门文章

  1. Python学习 Day7 Python3 函数
  2. jQuery特效 | 导航底部横线跟随鼠标缓动
  3. UVA 818 Cutting Chains 切断圆环链 (暴力dfs)
  4. 「ruby/MiniMagick」用MiniMagick处理图片
  5. VS工程,换电脑后出现的问题
  6. 2010中小网站运营报告:社区论坛网站后来居上
  7. Spring @Transactional注解浅谈
  8. AMP (LAMP/WAMP)
  9. [C11] 推荐系统(Recommender Systems)
  10. [Swift]LeetCode288. 唯一单词缩写 $ Unique Word Abbreviation