oracle用分号拼接函数,ORACLE以逗号分隔连接列的值 函数名:wmsys.wm_concat
作用:以逗号分隔连接列的值
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相关推荐
- R语言使用order函数按照两个数据列的值排序data.table数据(主变量降序排序、次变量升序排序)
R语言使用order函数按照两个数据列的值排序data.table数据(主变量降序排序.次变量升序排序) 目录
- oracle数据库的拼接字符串,Oracle数据库拼接字符串
Ora-03113\Ora-03114与Oracle In 拼接字符串的问题 刚深入接触Oracle不久(大学里以及刚参加工作时学到的Oracle知识只能算是皮毛),因为之前使用SqlServer有将 ...
- 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...
原帖:http://www.cnblogs.com/nayitian/p/3231734.html wmsys.wm_concat Definition: The Oracle PL/SQL WM_C ...
- oracle存储过程sql拼接日期,Oracle 存储过程中的细节-日期处理
今天在存储过程中用 to_char来查询制定日期是星期几,本以为时没什么问题的,结果出现了自己不想要的问题. select to_char(sysdate,'day','NLS_DATE_LANGUA ...
- python无返回值函数_理解Python 中无返回值函数的问题
例如 list 的 append 操作就是无返回值的,换句话说就是不能进行形如 list = [] list.append(1).append(2) 这样的连续操作 注意函数返回的数据类型注意是 li ...
- php输出二维函数,兼容php二维数组取值函数array_column使用
PHP5.5发布,其中增加了一个新的数组函数array_column,感觉不错的! 但是低版本PHP要使用,得自己实现: if(!function_exists('array_column')){ f ...
- 求和函数,滑动向上/向下取值函数
1.sum(a) over ()对a列所有值进行求和 sum(a) over (order by b)根据b列排序后,求a列第一行到当前行的所有值的和 2.sum(a) over (partition ...
- oracle内置函数 wmsys.wm_concat使用
函数名:wmsys.wm_concat 作用:以逗号分隔连接列的值 oracle 10g引入.使用时直接用wm_concat也可以. 以下介绍一些实际使用的状况.介绍实际Case前先建立一个测试tab ...
- oracle增量 mysql_是否有任何mysql / Oracle函数给予增量号。基于另一列相似值的一列?...
我有兴趣知道是否有任何MySQL / Oracle函数给增量号.在另一列相似的值的基础上的一列? 就像在我的下面的代码中,我有order_primary列,其中包含订单号.所以基于此我们可以确定有多少 ...
最新文章
- [NOIP模拟测试3] 建造游乐园 题解(欧拉图性质)
- Docker - command in docker container
- chapter2 机器学习之KNN(k-nearest neighbor algorithm)--K近邻算法从原理到实现
- 腾讯 AngelFL 联邦学习平台揭秘
- 端午将至……想和程序猿Coding个粽子行不行?
- Builder(生成器)--对象创建型模式
- JS----文档对象模型
- 推动Windows的限制:进程和线程
- JeecgBoot轻松解决ERP项目复杂布局需求,JVXETable高性能行表格效果和项目案例
- MSSQL Express版本自动备份数据库
- 阿里千亿级购物节背后,淘宝智能客服架构演进之路
- windows2003 ftp 无法下载 解决
- 微型计算机及接口技术考试卷,微机原理与接口技术考试试题及答案 2
- studiolibrary安装_DAZ Studio 3D扩展包安装使用教程
- matlab中的变换器,buck变换器介绍_buck变换器matlab仿真
- 杜克大学用13幅图告诉你人生的真谛,值得深思!
- 360手机:360手机刷机 救砖 Twrp、Root、Magisk、360N4S骁龙版、360N5、N5S、N6、N6Lite、N6PRO、N7、N7Lite、N7PRO、Q5、Q5Plus
- 程序员如何做SOHO一族接私单做呢?
- 安全牛:安全与业务不存在平衡 证明价值是关键
- android直播录像,安卓手机怎么录制直播视频
热门文章
- Python学习 Day7 Python3 函数
- jQuery特效 | 导航底部横线跟随鼠标缓动
- UVA 818 Cutting Chains 切断圆环链 (暴力dfs)
- 「ruby/MiniMagick」用MiniMagick处理图片
- VS工程,换电脑后出现的问题
- 2010中小网站运营报告:社区论坛网站后来居上
- Spring @Transactional注解浅谈
- AMP (LAMP/WAMP)
- [C11] 推荐系统(Recommender Systems)
- [Swift]LeetCode288. 唯一单词缩写 $ Unique Word Abbreviation