Hi,
I have a table like this below.
TaskId StatusId StatusName TypeId
1 189 New 1
2 199 New1 2
3 189 New 1
4 199 New1 3
5 190 new2 4
6 190 new2 4
I need output as below
TypeId New New1 New2
1 2 0 0
2 0 1 0
3 0 1 0
4 0 0 2
Thanks in advance.
What I have tried:
CREATE TABLE #TaskTable
(TaskId INT, StatusId INT, StatusName VarChar(50), TypeId INT);
GO
INSERT INTO #TaskTable VALUES(1,189,'New',1);
INSERT INTO #TaskTable VALUES(2,199,'New1',2);
INSERT INTO #TaskTable VALUES(3,189,'New',1);
INSERT INTO #TaskTable VALUES(4,199,'New1',3);
INSERT INTO #TaskTable VALUES(5,190,'New2',4);
INSERT INTO #TaskTable VALUES(6,190,'New2',4);
SELECT *
FROM #TaskTable
SELECT *
FROM #TaskTable
PIVOT(Count(StatusId)
FOR StatusName IN([New], [New1],[New2])
) P;
But result is not as expected.