Click here to Skip to main content
15,888,461 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Dear Friends,

I want to display the 5 row like 5 columns view.

EG:
1. Mob1
2. Mob2
3. Mob3

Its should displayed as Mob1 Mob2 Mob3

I have to it from SQl.

Regards,
AP
Posted

The PIVOT relational operator explained here http://msdn.microsoft.com/en-us/library/ms177410(v=sql.90).aspx[^] can be used for this purpose as shown below:
SQL
IF OBJECT_ID('Data','U') is NOT NULL
    DROP TABLE Data

CREATE TABLE [dbo].[Data](
    [SlNum] [int] NULL,
    [Name] [nvarchar](50) NULL,
) ON [PRIMARY]
GO

INSERT INTO Data(SlNum, Name)
VALUES(1, 'Mob1')
INSERT INTO Data(SlNum, Name)
VALUES(2, 'Mob2')
INSERT INTO Data(SlNum, Name)
VALUES(3, 'Mob3')
INSERT INTO Data(SlNum, Name)
VALUES(4, 'Mob4')
INSERT INTO Data(SlNum, Name)
VALUES(5, 'Mob5')

SELECT Mob1, Mob2, Mob3, Mob4, Mob5
FROM
    (SELECT SlNum, Name FROM Data) AS SourceTable
PIVOT
    (MIN(SlNum) FOR Name IN (Mob1, Mob2, Mob3, Mob4, Mob5)) AS PIVOTTABLE

--Output
--Mob1 Mob2 Mob3 Mob4 Mob5
-- 1	2    3    4    5
 
Share this answer
 
This works fine for dynamic data too..

SQL
Select my_Row1=max(isnull(case when rn=1 then mob_no end,'')),
my_Row2=max(isnull(case when rn=2 then mob_no end,'')),
my_Row3=max(isnull(case when rn=3 then mob_no end,'')),
my_Row4=max(isnull(case when rn=4 then mob_no end,'')),
my_Row5=max(isnull(case when rn=5 then mob_no end,'')) from (
Select top 5 RN=ROW_NUMBER () OVER (order by mob_no),mob_no from myDB..my_TABLE a with (nolock))j


Regards,
AP
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900