本文共 854 字,大约阅读时间需要 2 分钟。
pivot的格式
select from( inner_query)pivot(aggreate_function for pivot_column in ( list of values))order by ...;用法举例:select from (select month,prd_type_id,amountfrom 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,amountfrom 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 tpivot (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));转载于:https://blog.51cto.com/11225554/2150181