DB2行转列(多维度)
多维度下进行行列转换,下面的行列转换时根据客户,所属银行机构进行的行列转换。
-----------------建表
CREATE TABLE CUST_BANK_INFO
(
CUST_ID VARCHAR(10),
CUST_NAME VARCHAR(100),
BANK_NO VARCHAR(100),
BANK VARCHAR(100),
MONEY_TYPE_NO VARCHAR(100),
MONEY_TYPE VARCHAR(100),
MONEY INT
); INSERT INTO CUST_BANK_INFO VALUES('C001','允贤','B01','中国银行','MT01','理财',10000);
INSERT INTO CUST_BANK_INFO VALUES('C002','李四','B01','中国银行','MT02','贷款',20390);
INSERT INTO CUST_BANK_INFO VALUES('C003','王五','B01','中国银行','MT03','存款',29301);
INSERT INTO CUST_BANK_INFO VALUES('C004','陈六','B01','中国银行','MT04','教育储蓄',10000);
INSERT INTO CUST_BANK_INFO VALUES('C001','允贤','B02','中国银行','MT01','理财',20000);
INSERT INTO CUST_BANK_INFO VALUES('C005','JACK','B02','工商银行','MT05','理财',10001);
INSERT INTO CUST_BANK_INFO VALUES('C006','王三','B02','工商银行','MT06','贷款',10002);
INSERT INTO CUST_BANK_INFO VALUES('C007','刘六','B02','工商银行','MT07','存款',10003);
INSERT INTO CUST_BANK_INFO VALUES('C008','郑七','B02','工商银行','MT08','教育储蓄',10004);
SELECT * FROM CUST_BANK_INFO
查询结果如下:
--DELETE FROM CUST_BANK_INFO
DROP TABLE Mapping;
CREATE TABLE Mapping
(
CN_NAME VARCHAR(100),
Code_L VARCHAR(10),
Code_N VARCHAR(10)
)
INSERT INTO Mapping values('理财','MT01','BANK_01');
INSERT INTO Mapping values('理财','MT05','BANK_01');
INSERT INTO Mapping values('贷款','MT02','BANK_02');
INSERT INTO Mapping values('贷款','MT06','BANK_02');
INSERT INTO Mapping values('存款','MT03','BANK_03');
INSERT INTO Mapping values('存款','MT07','BANK_03');
INSERT INTO Mapping values('教育储蓄','MT04','BANK_04');
INSERT INTO Mapping values('教育储蓄','MT08','BANK_04'); SELECT CUST_ID,
CUST_NAME,
BANK_NO,
BANK,
max(CASE WHEN B.Code_N='BANK_01' THEN MONEY ELSE '' END) AS 理财,
max(CASE WHEN B.Code_N='BANK_02' THEN MONEY ELSE '' END) AS 贷款,
max(CASE WHEN B.Code_N='BANK_03' THEN MONEY ELSE '' END) AS 存款,
max(CASE WHEN B.Code_N='BANK_04' THEN MONEY ELSE '' END) AS 教育储蓄
FROM CUST_BANK_INFO A
LEFT JOIN MAPPING B ON A.MONEY_TYPE_NO=B.Code_L
group by CUST_ID,CUST_NAME,BANK,BANK_NO
查询结果如下:
DB2行转列(多维度)的更多相关文章
- DB2行转列、列转行等操作
DB2 行转列 ----start 在网上看到这样一个问题:(问题地址:http://www.mydb2.cn/bbs/read.php?tid=1297&page=e&#a) 班级 ...
- List实现行转列的通用方案
最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...
- List,DataTable实现行转列的通用方案
最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...
- spark 累加历史 + 统计全部 + 行转列
spark 累加历史主要用到了窗口函数,而进行全部统计,则需要用到rollup函数 1 应用场景: 1.我们需要统计用户的总使用时长(累加历史) 2.前台展现页面需要对多个维度进行查询,如:产品.地 ...
- C#List实现行转列
List实现行转列的通用方案 最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记 ...
- Oracle 11g Pivot函数实现行转列
先上语法规范: SELECT .... FROM <table-expr> PIVOT ( aggregate-function(<column>) FOR <pivot ...
- SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...
- T-SQL 实现行转列
问题: 我正在寻找一种有效的方式将行转换为SQL服务器中的列 例如,通过下表如何构建出预期结果表. Id Value ColumnName 1 John FirstName 2 2 ...
- Oracle行转列、列转行的Sql语句总结
多行转字符串 这个比较简单,用||或concat函数可以实现 SQL Code 12 select concat(id,username) str from app_userselect i ...
随机推荐
- Android7.0 拨号盘应用源码分析(一) 界面浅析
前言 android拨号盘的源码目录在package/app/Dialer 自7.0以后Incallui的源码直接放到了Dialer目录下,虽然在7.0以前incallui有自己独立的目录,但实际编译 ...
- AX调用.dll
1,将DLL拷贝到C:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Bin 2,在AOT添加引用,在选择你拷贝的DLL,确定.//Acces ...
- LA3211 飞机调度 Now or later-二分法&TwoSet
https://vjudge.net/problem/UVALive-3211 As you must have experienced, instead of landing immediately ...
- Hibernate 问题,在执行Query session.createQuery(hql) 报错误
在配置文件中加入 <prop key="hibernate.query.factory_class">org.hibernate.hql.internal.classi ...
- .Net 乱序方法
前两天开发一个奇葩的功能,突然间想到了用打乱顺序的方式解决.记录代码如下: /// <summary> /// 把收集回来的列表打乱顺序之后返回 /// </summary> ...
- WP8_Json的用法
WP从服务器.API交换数据一般都是用JSON格式字符串. 下面介绍用Newtonsoft.Json来处理JSON. 准备 1.到 http://json.codeplex.com/ 下载Newton ...
- 软件工程 speedsnail 冲刺4
2015-5-8 完成任务:学习了黑马android教学视频7.8.9集,对布局和计划做了调整: 遇到问题: 问题1 异常 Warning: Activity not started, its cur ...
- xode View 的封装
1.Xcode自带头文件的路径 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Develo ...
- Windows系统错误代码大全
1 Microsoft Windows 系统错误代码简单分析: 0000 操作已成功完成.0001 错误的函数. 0002 系统找不到指定的文件. 0003 系统找不到指定的路径. 0004 系统无法 ...
- SQL SERVER连接字符串学习
在使用connection string时遇到一些问题 字符串如下"Data Source= ******;Initial Catalog=******;Persist Security I ...

