I have a table as shown below.My question is:How can I convert columns into rows? I'm using Microsoft SQL Server
sip_RECno user1 user2 user3 user4
1 ram ravi sam raj
i need op like below
user
ram
ravi
sam
raj
how to do it? thanks
Your Data
DECLARE @TABLE TABLE
(sip_RECno INT,user1 VARCHAR(10),user2 VARCHAR(10)
,user3 VARCHAR(10),user4 VARCHAR(10))
INSERT INTO @TABLE VALUES
(1,'ram','ravi','sam','raj')
Query
;WITH CTE
AS
(
SELECT * FROM (
SELECT user1 ,user2 ,user3 , user4 FROM @TABLE) T
UNPIVOT ( Value FOR N IN (user1 ,user2 ,user3 , user4))P
)
SELECT Value AS Users
FROM CTE
Result Set
╔═══════╗
║ Users ║
╠═══════╣
║ ram ║
║ ravi ║
║ sam ║
║ raj ║
╚═══════╝
You can simply UNPIVOT()
select [user] from table_name unpivot
(
[user]
for [userid] in ([user1], [user2], [user3], [user4])
)unpvt
Demo