Pivot in SQL SERVER

Hello friends,

Today I will explain you how to use pivot table. It’s very useful.

For example just take  a look on below   statements

 

DECLARE @tblTest AS TABLE (strName        VARCHAR(50),

                           fltTotalAmount DECIMAL(10,3),

                           intMonth       TINYINT,

                           intYear        INT)

 

INSERT INTO @tblTest (strName, fltTotalAmount, intMonth, intYear)

VALUES (‘RAJAT’, ‘10000’,1,2006)

INSERT INTO @tblTest (strName, fltTotalAmount, intMonth, intYear)

VALUES (‘RAJAT’, ‘15000’,2,2006)

INSERT INTO @tblTest (strName, fltTotalAmount, intMonth, intYear)

VALUES (‘RAJAT’, ‘16000’,3,2006)

INSERT INTO @tblTest (strName, fltTotalAmount, intMonth, intYear)

VALUES (‘RAJAT’, ‘10700’,1,2007)

INSERT INTO @tblTest (strName, fltTotalAmount, intMonth, intYear)

VALUES (‘RAJAT’, ‘16000’,2,2007)

 

Now suppose if you want sql result in following format

Name

Year  

Jan         

Feb       

march

RAJAT

2006

10000.000

15000.000

16000.000

RAJAT

2007

10700.000

16000.000

NULL

  Then what you have to do?

You have to do following thing just take a look below statements.

 

SELECT strName,

       intYear,

       [1] As Jan,

       [2] AS Feb,

       [3] As mar

FROM ( SELECT strName,

       intYear,

       fltTotalAmount,

       intMonth

       FROM @tblTest )p

PIVOT (SUM (fltTotalAmount) FOR intMonth IN ([1],[2],[3]))Q

 

Now when you execute it it will give you desire result.

 

I hope you got the idea how to use pivot table.

If you have any kind of problem or confusion in the above statement feel free to drop a comment.

Thanks

Regards

Rajat Jaiswal

 

 

 

 

 

 

 

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.