最终效果

原始数据:

转换脚本:

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
;

转载于:https://www.cnblogs.com/Alex-Zeng/p/4926108.html

DB2 SQL 递归实现多行合并相关推荐

  1. SQL小技巧系列 --- 行转列合并

    首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用 准备测试数据 SQL> ...

  2. ORACLE纯SQL实现多行合并一行

    ORACLE纯SQL实现多行合并一行 项目中遇到一个需求,需要将多行合并为一行. 表结构如下: NAME                            Null           Type ...

  3. 按行合并两个sql的查询结果

    Union all join 是平行合并 为水平连接 Union all 是垂直合并 是将两个结果联结起来 Union all 的语法: [SQL 语句 1] Union all [SQL 语句 2] ...

  4. 各数据库SQL查询结果多行数据合并成一行

    SQL查询结果多行数据合并成一行 一.Oracle函数多行数据合并成一行 二.Mysql函数多行数据合并成一行 三.sqlserver函数多行数据合并成一行 四.postgresql函数多行数据合并成 ...

  5. DB2 SQL 消息

    非本人所总结,转载地址:http://guanzhilibai.blog.163.com/blog/static/1358799320117195939611/ DB2 SQL 消息(3000-699 ...

  6. Oracle SQL到DB2 SQL移植解决方案

    1.Oracel中的decode DB2解决方案:用case条件表达式完成. case两种语法模式: (1)CASE WHEN 条件 THEN 结果1 ELSE 结果2 END (2)CASE 表达式 ...

  7. oracle sql 转换成 db2 sql

    1.Oracel中的decode DB2解决方案:用case条件表达式完成. case两种语法模式: (1)CASE WHEN 条件 THEN 结果1 ELSE 结果2 END (2)CASE 表达式 ...

  8. Oracle SQL到DB2 SQL移植解决方案(引)

    Oracle SQL到DB2 SQL移植解决方案 1.Oracel中的decode DB2解决方案:用case条件表达式完成. case两种语法模式: (1)CASE WHEN 条件 THEN 结果1 ...

  9. db2 sql 优化

    出处:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0909querytuning/ 内容提要 通过 " ...

最新文章

  1. python高阶面试题_Python 爬虫面试题 170 道:2019 版
  2. 安装部署VMware vSphere 5.5文档 (6-1) 配置IBM DS4700 共享存储
  3. Polemo Chat客户端行为
  4. linux磁盘和文件系统管理
  5. 对象关系映射(ORM)及代码生成器和插件C#源码(DBFrameworkV4.5.3)
  6. OCA第2部分中的Java难题
  7. 具有外部Zookeeper集成并使用SOLRJ API访问数据的SOLR cloud 7.4集群配置
  8. SpaceX计划2022年完成52次发射
  9. 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API
  10. java循环之后求和代码,Java lambda 循环累加求和代码
  11. Druid手动创建连接的坑
  12. [Android] 浅析总结 AS 中 Gradle 配置运行
  13. 借助开源项目 学习软件开发
  14. 2022-2023丰田bZ4X维修手册电路图TOYOTA技术资料
  15. windows下安装Linux(Ubuntu)系统
  16. 路由器硬改+刷OpenWrt+挂载摄像头+U盘
  17. 【UE4】如何获取/下载虚幻4(Unreal Engine4)源码
  18. curl命令详解 (curl -I)
  19. 增加/删除临时IP地址
  20. 编码时,不要让字母和数字产生混淆,影响开发判断

热门文章

  1. 三点估算pmp_我本人是做项目经理的,我把考PMP也当成一个项目来规划
  2. php外联样式,css外联样式不起作用怎么办
  3. 数据库:计算地球上两个坐标点之间里程
  4. 浅谈 UNIX、Linux、ios、android 他们之间的关系
  5. 盘点神奇却少为人知的IntelliJ IDEA快捷键
  6. Linux 下 10 个最“危险”的命令,开发者应该了解
  7. hp-ux_UX中的格式塔-或-为什么设计师如此讨厌间距
  8. Debian 9.6.0 + OpenMediaVault 4.x : U盘作系统盘时遇到的问题
  9. Tomcat乱码解决
  10. 使用jenkins进行项目的自动构建部署