oracle非常量不能用于privot_oracle pivot 和 unpivot 函数的使用

from

( inner_query)

pivot(aggreate_function for pivot_column in ( list of values))

order by ...;

用法举例:

select

from (

select month,prd_type_id,amount

from all_sales

)

pivot (sum(amount) for month in (1 as JAN,2 as FEB,3 as MAR,4 as APR)

)

order by prd_type_id

转换多个列

select * from

(select month,prd_type_id,amount

from all_sales

)

pivot(sum(amount) for (month,prd_type_id) in (

(1,2) as JAN_P2,(2,3) as FEB_P3)

);

在转换中使用多个聚合函数

select * from (select cust_no,mag_man_cert_type,t.mag_man_cert_no,mag_man_type from L_CIF_ENT_CUST_MAG_MAN_INFO t

pivot (max(mag_man_cert_NO) as no ,max(mag_man_cert_type) as type for mag_man_type In (‘01‘ as GLR01,‘02‘ as GLR02,‘03‘ as GLR03));

unpivot可以实现列转行,所转的列的字段类型必须一致

unpivot 的用法举例:

select * from PIVOT_SALES_DATE

unpivot (amount for month in (JAN,FEB,MAR,APR));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值