多维度下进行行列转换,下面的行列转换时根据客户,所属银行机构进行的行列转换。

-----------------建表
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行转列(多维度)的更多相关文章

  1. DB2行转列、列转行等操作

    DB2 行转列 ----start 在网上看到这样一个问题:(问题地址:http://www.mydb2.cn/bbs/read.php?tid=1297&page=e&#a) 班级  ...

  2. List实现行转列的通用方案

    最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...

  3. List,DataTable实现行转列的通用方案

    最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...

  4. spark 累加历史 + 统计全部 + 行转列

    spark 累加历史主要用到了窗口函数,而进行全部统计,则需要用到rollup函数 1  应用场景: 1.我们需要统计用户的总使用时长(累加历史) 2.前台展现页面需要对多个维度进行查询,如:产品.地 ...

  5. C#List实现行转列

    List实现行转列的通用方案 最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记 ...

  6. Oracle 11g Pivot函数实现行转列

    先上语法规范: SELECT .... FROM <table-expr> PIVOT ( aggregate-function(<column>) FOR <pivot ...

  7. SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...

  8. T-SQL 实现行转列

    问题: 我正在寻找一种有效的方式将行转换为SQL服务器中的列 例如,通过下表如何构建出预期结果表. Id  Value   ColumnName 1   John    FirstName 2   2 ...

  9. Oracle行转列、列转行的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现  SQL Code  12    select concat(id,username) str from app_userselect i ...

随机推荐

  1. 学习练习 java 小题

    Scanner a = new Scanner(System.in); System.out.println("请输入您的分数"); int fen = a.nextInt(); ...

  2. 学习联系 Java阶乘相关练习

    题目一:一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度 double hou = 0.00008; for (int i = 1; i > 0; i++) { hou = ...

  3. android大项目运行中出现问题汇总

    Android 项目中,特别是当项目文件和规模达到一定的程度后,会引发一些平常不常见的问题. 下面对遇到的一些问题做一个汇总和总结. scenario 1: 在项目中,我们采用了chromimum内核 ...

  4. 如何利用百度地图JSAPI画带箭头的线?

    百度地图JSAPI提供两种绘制多折线的方式,一种是已知多折线经纬度坐标串通过AddOverlay接口进行添加:另一种是通过在地图上鼠标单击进行绘制(鼠标绘制工具条库).目前这两种方式只能绘制多折线,并 ...

  5. 【MySQL】binlog_format以及binlog事务记录分析

    MySQL官方对于binlog_format参数的说明: http://dev.mysql.com/doc/refman/5.5/en/binary-log-setting.html binlog_f ...

  6. http 301、304状态码

    在利用httpwatch进行抓包分析时,我们经常会看到200.301.304这几个状态码.具本三者是什么意思呢? 200表示正常0k,这个是地球人都知道的了. 301 Moved Permanentl ...

  7. Oracle笔记 十、PL/SQL存储过程

    --create or replace 创建或替换,如果存在就替换,不存在就创建 create or replace procedure p is cursor c is select * from ...

  8. pcap文件格式及文件解析

    第一部分:PCAP包文件格式 一 基本格式: 文件头 数据包头数据报数据包头数据报...... 二.文件头: 文件头结构体 sturct pcap_file_header {      DWORD   ...

  9. windows 2003 修改远程桌面连接数详细方法

    Windows Server 2003默认情况下允许远程终端连接的数量是2个用户,我们可以根据需要适当增加远程连接同时在线的用户数. 单击“开始→运行”,输入“gpedit.msc”打开组策略编辑器窗 ...

  10. leetcode 104

    104. Maximum Depth of Binary Tree Given a binary tree, find its maximum depth. The maximum depth is ...