SQL-Abfrage, um Spalten in Zeilen umzuwandeln

Ich habe eine Tabelle wie unten gezeigt. Meine Frage ist: Wie kann ich Spalten in Zeilen umwandeln? Ich verwende Microsoft SQL server

sip_RECno user1 user2 user3 user4 1 ram ravi sam raj 

Ich brauche wie unten

  user ram ravi sam raj 

wie es geht? Vielen Dank

   

Deine 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') 

Abfrage

 ;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 ( ;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 

Ergebnis Set

 ╔═══════╗ ║ Users ║ ╠═══════╣ ║ ram ║ ║ ravi ║ ║ sam ║ ║ raj ║ ╚═══════╝ 

Sie können einfach UNPIVOT()

 select [user] from table_name unpivot ( [user] for [userid] in ([user1], [user2], [user3], [user4]) )unpvt ( select [user] from table_name unpivot ( [user] for [userid] in ([user1], [user2], [user3], [user4]) )unpvt 

Demo