-3

how to interchange rows to column, i have a output like

 employeeName   payHead  amount

Samam          Basic    20000.000000 
Samam          Test1    11.000000
Samam          Test2    22.000000   
Ravi kumar     Test1    55.000000
Ravi kumar     Test2    66.000000
Ravi kumar     Basic    3000.000000

i need a output like

employeeName   Basic             Test1         Test2   

 Samam          20000.000000      11.000000    22.000000 
 Ravi kumar     3000.000000       55.000000    66.000000
Shamseer K
  • 4,964
  • 2
  • 25
  • 43

1 Answers1

2

Simple PIVOT query:

DECLARE @Test TABLE (employeeName  nvarchar(max),
                     payHead nvarchar(max),
                     amount float);

INSERT INTO @Test
VALUES
('Samam',          'Basic',    20000.000000),
('Samam',          'Test1',    11.000000),
('Samam',          'Test2',    22.000000),   
('Ravi kumar',     'Test1',    55.000000),
('Ravi kumar',     'Test2',    66.000000),
('Ravi kumar',     'Basic',    3000.000000);

SELECT *
FROM @Test t
PIVOT
(
    MAX(amount)
    FOR payHead IN (Basic,Test1,Test2)
) as p
ORDER BY Basic;
Lukasz Szozda
  • 162,964
  • 23
  • 234
  • 275
Backs
  • 24,430
  • 5
  • 58
  • 85