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 ;
转载于:https://www.cnblogs.com/Alex-Zeng/p/4926108.html
DB2 SQL 递归实现多行合并相关推荐
- SQL小技巧系列 --- 行转列合并
首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用 准备测试数据 SQL> ...
- ORACLE纯SQL实现多行合并一行
ORACLE纯SQL实现多行合并一行 项目中遇到一个需求,需要将多行合并为一行. 表结构如下: NAME Null Type ...
- 按行合并两个sql的查询结果
Union all join 是平行合并 为水平连接 Union all 是垂直合并 是将两个结果联结起来 Union all 的语法: [SQL 语句 1] Union all [SQL 语句 2] ...
- 各数据库SQL查询结果多行数据合并成一行
SQL查询结果多行数据合并成一行 一.Oracle函数多行数据合并成一行 二.Mysql函数多行数据合并成一行 三.sqlserver函数多行数据合并成一行 四.postgresql函数多行数据合并成 ...
- DB2 SQL 消息
非本人所总结,转载地址:http://guanzhilibai.blog.163.com/blog/static/1358799320117195939611/ DB2 SQL 消息(3000-699 ...
- Oracle SQL到DB2 SQL移植解决方案
1.Oracel中的decode DB2解决方案:用case条件表达式完成. case两种语法模式: (1)CASE WHEN 条件 THEN 结果1 ELSE 结果2 END (2)CASE 表达式 ...
- oracle sql 转换成 db2 sql
1.Oracel中的decode DB2解决方案:用case条件表达式完成. case两种语法模式: (1)CASE WHEN 条件 THEN 结果1 ELSE 结果2 END (2)CASE 表达式 ...
- Oracle SQL到DB2 SQL移植解决方案(引)
Oracle SQL到DB2 SQL移植解决方案 1.Oracel中的decode DB2解决方案:用case条件表达式完成. case两种语法模式: (1)CASE WHEN 条件 THEN 结果1 ...
- db2 sql 优化
出处:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0909querytuning/ 内容提要 通过 " ...
最新文章
- python高阶面试题_Python 爬虫面试题 170 道:2019 版
- 安装部署VMware vSphere 5.5文档 (6-1) 配置IBM DS4700 共享存储
- Polemo Chat客户端行为
- linux磁盘和文件系统管理
- 对象关系映射(ORM)及代码生成器和插件C#源码(DBFrameworkV4.5.3)
- OCA第2部分中的Java难题
- 具有外部Zookeeper集成并使用SOLRJ API访问数据的SOLR cloud 7.4集群配置
- SpaceX计划2022年完成52次发射
- 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API
- java循环之后求和代码,Java lambda 循环累加求和代码
- Druid手动创建连接的坑
- [Android] 浅析总结 AS 中 Gradle 配置运行
- 借助开源项目 学习软件开发
- 2022-2023丰田bZ4X维修手册电路图TOYOTA技术资料
- windows下安装Linux(Ubuntu)系统
- 路由器硬改+刷OpenWrt+挂载摄像头+U盘
- 【UE4】如何获取/下载虚幻4(Unreal Engine4)源码
- curl命令详解 (curl -I)
- 增加/删除临时IP地址
- 编码时,不要让字母和数字产生混淆,影响开发判断
热门文章
- 三点估算pmp_我本人是做项目经理的,我把考PMP也当成一个项目来规划
- php外联样式,css外联样式不起作用怎么办
- 数据库:计算地球上两个坐标点之间里程
- 浅谈 UNIX、Linux、ios、android 他们之间的关系
- 盘点神奇却少为人知的IntelliJ IDEA快捷键
- Linux 下 10 个最“危险”的命令,开发者应该了解
- hp-ux_UX中的格式塔-或-为什么设计师如此讨厌间距
- Debian 9.6.0 + OpenMediaVault 4.x : U盘作系统盘时遇到的问题
- Tomcat乱码解决
- 使用jenkins进行项目的自动构建部署