I’m trying to get the sum of production per month and pivot the month row to columns. Could you please tell me what is wrong with this code?’
select * from ( select datename(month,day), UnitId, sum(pv_production) as production, year(day) from MeterReading group by datename(month,day), UnitId, year(day)) p pivot ( max(pv_production) for datename(month, day) in ([January], [February], [March], [April], [May], [June], [July], [August], [September], [October], [November], [December] ) ) as pp
Advertisement
Answer
There were several items wrong in your query. Columns need aliases and your max() within the PIVOT was referencing an invalid column name
Select * From ( Select [Month] = datename(month,day) , [Year] = year(day) , UnitId , production = sum(pv_production) From MeterReading Group By datename(month,day) ,year(day) ,UnitId ) Src Pivot ( max(production) for [Month] in ([January] ,[February] ,[March] ,[April] ,[May] ,[June] ,[July] ,[August] ,[September] ,[October] ,[November] ,[December] ) ) Pvt