小编典典

SQL查询将列转换为行

sql

我有一个如下所示的表。我的问题是:如何将列转换为行?我正在使用Microsoft SQL Server

   sip_RECno  user1     user2    user3     user4

   1          ram       ravi     sam       raj

我需要像下面的操作

 user
 ram
 ravi
 sam
 raj

怎么做?谢谢


阅读 164

收藏
2021-03-23

共1个答案

小编典典

您的资料

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

询问

;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

结果集

╔═══════╗
║ Users ║
╠═══════╣
║ ram   ║
║ ravi  ║
║ sam   ║
║ raj   ║
╚═══════╝
2021-03-23