try this sample examples for pivot & dynamic cross tabCREATE TABLE Pivot_SampleEx( YEAR SMALLINT, QUARTER TINYINT, AMOUNT DECIMAL(2,1))INSERT INTO Pivot_SampleEx VALUES (1990,1,1.1)INSERT INTO Pivot_SampleEx VALUES (1990,2,1.2)INSERT INTO Pivot_SampleEx VALUES (1990,3,1.3)INSERT INTO Pivot_SampleEx VALUES (1990,4,1.4)INSERT INTO Pivot_SampleEx VALUES (1991,1,2.1)INSERT INTO Pivot_SampleEx VALUES (1991,2,2.2)INSERT INTO Pivot_SampleEx VALUES (1991,3,2.3)INSERT INTO Pivot_SampleEx VALUES (1991,4,2.4)INSERT INTO PIVOT_SampleEx VALUES (2002,3,5.2)INSERT INTO PIVOT_SampleEx VALUES (2002,4,5.4)SELECT YEAR, SUM(CASE QUARTER WHEN 1 THEN AMOUNT ELSE 0 END) AS Q1, SUM(CASE QUARTER WHEN 2 THEN AMOUNT ELSE 0 END) AS Q2, SUM(CASE QUARTER WHEN 3 THEN AMOUNT ELSE 0 END) AS Q3, SUM(CASE QUARTER WHEN 4 THEN AMOUNT ELSE 0 END) AS Q4FROM Pivot_SampleExGROUP BY YEARSELECT YEAR,[1] AS Q1,[2] AS Q2,[3] AS Q3,[4] AS Q4FROM (SELECT * FROM Pivot_SampleEx) AS PPIVOT ( SUM(AMOUNT) FOR QUARTER IN ([1],[2],[3],[4]))AS PVT