oracle 行列转黄,oracle行列转换

目录:

1、case when----列转行 及其他用法case when 判断 then 值 else 值  end as 新字段名

sum(case when 判断 then 值 else 值  end) as 新字段名

case when 判断=A then 0

判断=B then 1     判断=C then 2      end as 新字段名

2、decode---列转行及其他用法decode(字段,值,如果是赋予值,如果否赋予值)

sum(decode())

decode(字段,值1,返回值1,值2,返回值2,值3,返回值3.....)

3、分组列转行,且合并组对应的值----vm_concat() 函数

4、unpivot-------多列合并转一列

5、使用union -------多列合并转一列

------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------

1、case when----列转行

比如依据scott用户下的emp表格,将job字段列转化成行。

原表

9a02fa02978235c47a8907a6588337c4.png

表转换

a109ec8c1cc4ffe8b9d442bf67821ba2.png

2、decode的普通用法、聚合函数用法

普通:使用emp表格,进行转换

12ea7bc6d6eeed765bb0f8d4381941f9.png

decode的聚合:

如将下图的表,将每个客户的合同行转列,且求合同费用值。

20f8ecff6d3d014df9de17e0d1ca074f.png

765540d3e538f80c881ad3e17a679466.png

decode(字段,判断值1,赋值1,判断值2,赋值2,判断值3,赋值3.....)

e87dbf3ebb85687528087ff8e7352e19.png

3、分组列转行,且合并组对应的值----vm_concat() 函数

542045ad3ef77dc19cd6c3aa541d3498.png

4、unpivot-------多列合并转一列

42c11ce42318ee892c1e8aea0c83f904.png

73cb3cd53e837d9f03eea50517c6361d.png

5、使用union -------多列合并转一列

92dc211061118afbae86fa0c41781fca.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值