场景:原始数据不是想要的效果,需要我们进行处理,这得使用pivot函数(列转行,行转列)
原始表展示内容如下:
select * from your_table
需求:我们需要将年份、类型名称按行显示其值!
解决方案: pivot函数
SELECT FNAME, a2019, a2020, a2021, a2022
FROM V_BP_ZYJJZB
PIVOT (MAX(FVALUE) FOR F_SYS_YEAR IN ('2019' AS a2019, '2020' AS a2020, '2021' AS a2021, '2022' AS a2022))
显示效果:
SQL解读:pivot语法[pivot (… for … in …)],其中’2019’ AS a2019为字段值起别名,方便在SELECT后引用。