I think this is what you need:
WITH Src AS ( SELECT * FROM (VALUES ('A',102, 'Jan', 2015), ('B', 20, 'Jan', 2016), ('C', 30, 'Feb', 2015), ('A', 10, 'Jan', 2016), ('C', 20, 'Feb', 2016)) T([Group], Count, Month, Year) ) SELECT [Group],Month,ISNULL([2015],0) [2015],ISNULL([2016],0) [2016] FROM Src PIVOT (SUM(Count) FOR Year IN ([2015], [2016])) AS Pvt ORDER BY [Group],Month
Paweł dyl
source share