0
有什么方法可以动态地命名Netezza中的pivoted列?在SSMS中,我会使用存储过程,但是我们新的Netezza框限制了SP的创建。使用CASE语句,我可以使用行号来每月循环每日总和,但是我希望新的列名是实际的任意MONTHID而不是行号(MONTH_ID1包含ROW_NUMBER 1-12和相应的MONTHID)。例如,我在战略上考虑引用和子查询,但我无法实现它。Netezza中的动态列命名
select "DAY"
,sum(case when "ROW_NUMBER" = 1 then SUMOFCHGS else null end) as "1"
,sum(case when "ROW_NUMBER" = 2 then SUMOFCHGS else null end) as "2"
,sum(case when "ROW_NUMBER" = 3 then SUMOFCHGS else null end) as "3"
,sum(case when "ROW_NUMBER" = 4 then SUMOFCHGS else null end) as "4"
,sum(case when "ROW_NUMBER" = 5 then SUMOFCHGS else null end) as "5"
,sum(case when "ROW_NUMBER" = 6 then SUMOFCHGS else null end) as "6"
,sum(case when "ROW_NUMBER" = 7 then SUMOFCHGS else null end) as "7"
,sum(case when "ROW_NUMBER" = 8 then SUMOFCHGS else null end) as "8"
,sum(case when "ROW_NUMBER" = 9 then SUMOFCHGS else null end) as "9"
,sum(case when "ROW_NUMBER" = 10 then SUMOFCHGS else null end) as "10"
,sum(case when "ROW_NUMBER" = 11 then SUMOFCHGS else null end) as "11"
,sum(case when "ROW_NUMBER" = 12 then SUMOFCHGS else null end) as "12"
FROM DLYAMTS D
JOIN MONTH_ID1 M ON D.MONTHID = M.MONTHID
GROUP BY 1
ORDER BY 1
我可以想象在未来与列的数目可变这样做,但我只是在寻找一个一年的月柱的现在。