有一张长表,需要对其中的2列,编码及名称进行行转列,有主键,编码和名称有很多,case when判断也不太现实,有没有什么好的办法
oracle的pivot行转列
样例:
SELECT *
FROM (SELECT A.PRODUCT_NAME
, TO_CHAR(A.SELL_TIME,‘mm‘) AS mon
, A.SELL_COUNT
FROM PRODUCT A
WHERE TO_CHAR(A.SELL_TIME,‘yyyy‘) = ‘2018‘)
PIVOT(SUM(SELL_COUNT)
FOR MON IN(‘01‘M1,5 ‘02‘M2,6 ‘03‘M3,7 ‘04‘M4,8 ‘05‘M5,9 ‘06‘M6,10 ‘07‘M7,11 ‘08‘M8,12 ‘09‘M9,13 ‘10‘M10,14 ‘11‘M11,15 ‘12‘ M12));