CREATE TABLE #Test (SubHeading_Name VARCHAR(500),Pointer_Id int,JV VARCHAR(100),
Score int,[Month] Varchar(50)
);
INSERT INTO #Test(SubHeading_Name,Pointer_Id,JV,Score,[Month])
VALUES
('Preparation & Planning',1,'JV1',4,'JAN')
,('Preparation & Planning',2,'JV1',3,'JAN')
,('Preparation & Planning',3,'JV1',2,'JAN')
,('Preparation & Planning',4,'JV1',4,'JAN')
,('Preparation & Planning',1,'JV2',4,'JAN')
,('Preparation & Planning',2,'JV2',3,'JAN')
,('Preparation & Planning',3,'JV2',2,'JAN')
,('Preparation & Planning',4,'JV2',4,'JAN')
,('Preparation & Planning',1,'JV1',2,'FEB')
,('Preparation & Planning',2,'JV1',3,'FEB')
,('Preparation & Planning',3,'JV1',2,'FEB')
,('Preparation & Planning',4,'JV1',1,'FEB')
,('Preparation & Planning',1,'JV2',2,'FEB')
,('Preparation & Planning',2,'JV2',3,'FEB')
,('Preparation & Planning',3,'JV2',2,'FEB')
,('Preparation & Planning',4,'JV2',1,'FEB');
;WITH CTE AS(
SELECT
SubHeading_Name,Pointer_Id,[MONTH],
SUM(case WHEN JV='JV1' THEN SCORE ELSE 0 END) AS Score1,
SUM(case WHEN JV='JV2' THEN SCORE ELSE 0 END) AS Score2
FROM #test GROUP BY SubHeading_Name,Pointer_Id,[MONTH]
)
SELECT * FROM (
SELECT SubHeading_Name
,Pointer_Id
,[MONTH]
,CONCAT(CAST(Score1 AS VARCHAR(5)),' ',CAST(Score2 AS VARCHAR(5))) AS Score
FROM CTE
) AS CTE1
PIVOT(MAX(score) FOR [MONTH] IN([JAN],[FEB]))AS t1