First your in clause of query is wrong. Correct way of doing it is
DECLARE @TBL TABLE
(
MONTH VARCHAR(MAX),
ORDERS VARCHAR(MAX)
)
INSERT INTO @TBL VALUES('Jan','1');
INSERT INTO @TBL VALUES('Feb','2');
INSERT INTO @TBL VALUES('Mar','3');
SELECT 'Assign' Assign ,*,'Total' [Total]
from
(
SELECT * FROM @TBL
) AS A pivot(MAX(ORDERS) FOR[MONTH] IN(Jan,Feb,Mar)) AS pvt
Secondly since columns are dynamic in nature hence a dynamic pivot query is required which is quite simple. Try these links for an idea.
SQL Server dynamic PIVOT query? - Stack Overflow[
^]
Dynamic Pivot Query in SQL Server[
^]
Dynamic PIVOT in Sql Server | SqlHints.com[
^]