oracle数据显示水平表旋转表
复制代码代码如下所示:
创建表
创建测试表
(
DM1 char(3),
DM2 char(3),
MC1类型(20),
值类型(20)
)
2。填写以下数据:
DM1
DM2
MC1
瓦尔
一百零一
一
C1
一百
一百零一
一
C2
八十
一百零一
一
C3
四十
一百零一
二
C1
三十
一百零一
二
C2
八十
一百零二
四
C1
九
一百零二
六
C2
五十
转换后的数据如下所示:
DM1
DM2
C1
C2
C3
一百零一
一
一百
八十
四十
一百零一
二
三十
八十
一百零二
四
九
一百零二
六
五十
三.转换表:
复制代码代码如下所示:
选择DM1、DM2,总和(解码(MC1、'c1 ',瓦迩))C1,和(解码)。
从测试
集团通过DM1、DM2
注意:这个声明是在瓦尔值的情况下的实现方法。如果瓦迩不是数字的,或者包含字符串和其他类型,总和将报告错误。这里有另一种方法来改变总和最大。
复制代码代码如下所示:
选择DM1、DM2,max(解码(MC1、'c1 ',瓦迩))C1,max(解码)。
从测试
集团通过DM1、DM2
此外,水平表也可以用类似于解码含义的case语句实现,用同样的语句,它不再被描述得太多。