-5

My table is like this:

Sitecode    Month  Amount
--------    -----  ------
XX          Jan     1000
XX          Jan     3000
XX          Apr     3000
XX          Apr     1000

What I want is, to show the result something like this:

Sitecode    MonthJAN   MonthAPR
--------    --------   --------
XX          1000       3000
XX          3000       1000
Filburt
  • 17,626
  • 12
  • 64
  • 115

2 Answers2

0

You can use PIVOT clause:

Pivot tables in SQL Server. A simple sample.

David Isla
  • 619
  • 7
  • 19
0

You can achive this using PIVOT.

Fiddler Demo

CREATE TABLE Sample
(
    SiteCode VARCHAR(100),  
    Month VARCHAR(100),    
    Amount INT
)

INSERT INTO Sample VALUES('XX', 'Jan', 1000)
INSERT INTO Sample VALUES('XX', 'Jan', 3000)  
INSERT INTO Sample VALUES('XX', 'Apr', 3000)
INSERT INTO Sample VALUES('XX', 'Apr', 1000)

SELECT P.SiteCode, P.Jan AS MonthJan, P.Apr AS MonthApr FROM 
(
    SELECT *, 
     ROW_NUMBER() OVER (PARTITION BY [Month] ORDER BY [Month]) AS Num 
    FROM Sample
) AS A
PIVOT (MAX(A.Amount) FOR A.Month IN ([Jan], [Apr])) AS P
Saravana Kumar
  • 3,669
  • 5
  • 15
  • 35