DB2 SQL 递归实现多行合并
最终效果

原始数据:

转换脚本:
WITH post_a AS (
SELECT DISTINCT T.EMP_NO,S.CODE_ FROM inscndb.DTFMA000_EMP_POST T ,VIEW_BI_POST S
WHERE T.POST||'-'||POST2 = S.POST ),
post_b AS (SELECT emp_no,code_,ROW_NUMBER() OVER(PARTITION BY EMP_NO ORDER BY EMP_NO) row_num FROM post_a),
post_c(emp_no,code_,row_num) AS
(SELECT post_b.emp_no,CAST(post_b.code_ AS VARCHAR(100)) AS code_,post_b.row_num FROM post_b
WHERE post_b.row_num = 1
UNION ALL
SELECT post_b.emp_no,
CAST( post_c.code_|| ',' || post_b.code_ AS varchar(100)) AS code_,post_b.row_num
FROM post_b,post_c
WHERE post_b.row_num=(post_c.row_num+1) AND post_b.emp_no = post_c.emp_no
)
SELECT c.emp_no,c.code_,c.row_num
FROM post_c c
WHERE NOT EXISTS (SELECT 1 FROM post_c cc WHERE c.emp_no = cc.emp_no AND c.row_num < cc.row_num)
ORDER BY c.emp_no
;
DB2 SQL 递归实现多行合并的更多相关文章
- SQL语句 分组 多行合并成一行
		,,'')) FROM Table d GROUP by Id 另外: sql 单引号转义:两个单引号转义为一个单引号 set @sql='STUFF((SELECT '','' + Names FR ... 
- (转载)按行合并两个sql的查询结果
		(转载)http://blog.csdn.net/wxwstrue/article/details/6784774 Union all join 是平行合并 为水平连接 Union all 是垂直合并 ... 
- SQL实现多行合并一行 .
		ORACLE纯SQL实现多行合并一行[转] 项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME Null Type ... 
- ORACLE纯SQL实现多行合并一行
		项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME Null Type---------------------- ... 
- mysql  多行合并一列
		mysql 多行合并一列 使用的函数为: GROUP_CONCAT(exp) 其中exp 的参数类似如下: (field order by field desc separator ';') ... 
- DB2 SQL性能调优秘笈
		SQL优化技巧 1.去除在谓词列上编写的任何标量函数 2.去除在谓词列上编写的任何数学运算 3.SQL语句的Select部分只写必要的列 4.尽可能不用Distinct 5.尽量将In子查询重写为Ex ... 
- DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=2 (转载)
		http://blog.csdn.net/xiyuan1999/article/details/5706230 DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, ... 
- [Oracle]行列转换(行合并与拆分)
		使用wmsys.wm_concat 实现行合并 在 Oracle 中, 将某一个栏位的多行数据转换成使用逗号风格的一行显示.能够使用函数 wmsys.wm_concat 达成. 这个在上一篇 or ... 
- SQL列转行,行转列实现
		在工作中,大家可能会遇到一些SQL列转行.行转列的问题,恰好,我也遇到了,就在此记录一下.此处所用的是SQLServer2008R2. 行转列,列转行,都要预先知道要要处理多少数据,在此我就以三种方案 ... 
随机推荐
- jQuery的动画效果
			jQuery 是一个 JavaScript 库.jQuery 库可以通过一行简单的标记被添加到网页中. <script type="text/javascript" src= ... 
- Javascript 数组与字典
			Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary). 先举例看看数组的用法. var a = new Array(); a[0] = "Acer&qu ... 
- nodejs的mysql模块学习(三)数据库连接配置选项详解
			连接选项 当在创建数据连接的时候 第一种大多数人用的方法 let mysql = require('mysql'); let connection = mysql.createConnection({ ... 
- Android(java)学习笔记87:File类使用
			package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供了一个类File供我们使用 ... 
- LeetCode 260
			Single Number III Given an array of numbers nums, in which exactly two elements appear only once and ... 
- SSH整合_struts.xml 模板
			<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "- ... 
- HTTP状态码解读
			1xx:信息 消息 描述 100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求. 101 Switching Protocols 服务器转换协 ... 
- Ehcache(2.9.x) - API Developer Guide, Basic Caching
			Creating a CacheManager All usages of the Ehcache API start with the creation of a CacheManager. The ... 
- 【转载】Spark SQL 1.3.0 DataFrame介绍、使用
			http://www.aboutyun.com/forum.php?mod=viewthread&tid=12358&page=1 1.DataFrame是什么?2.如何创建DataF ... 
- iBeacon
			iBeacon[1] 是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能.其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设备使用BLE技术向周围发送自己特有的ID,接收到该I ... 
