首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将表和显示列旋转为行

将表和显示列旋转为行
EN

Stack Overflow用户
提问于 2022-11-17 06:00:59
回答 2查看 41关注 0票数 0

我有一个表,我想要转动这个表,我想要的输出是@tab2。

我的桌子如下:

代码语言:javascript
复制
declare @tab1 table(name varchar(50),mobile varchar(10),address varchar(100))
insert into @tab1 values('Test','2612354598','CG-10')
select * from @tab1

我想要的输出是:

代码语言:javascript
复制
declare @tab2 table(colname varchar(50),value varchar(100))
insert into @tab2 values('name','Test'),('mobile','2612354598'),('address','CG-10')
select * from @tab2

请帮帮忙

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-17 06:35:58

如果使用server,则可以使用UNPIVOT

代码语言:javascript
复制
SELECT colname, valueid
 FROM   
(SELECT CAST(name as varchar(100)) name, CAST(mobile as varchar(100)) 
 mobile, address FROM @tab1) p  
UNPIVOT  
 (valueid FOR colname IN   
  (name,mobile, address)  
 )AS unpvt;

您需要对列进行CAST(),以便所有列的类型都相同。

票数 1
EN

Stack Overflow用户

发布于 2022-11-17 06:28:17

你看到的是Unpivot而不是Pivot。使用Unpivot如下所示。确保所有列都具有相同的数据类型。

代码语言:javascript
复制
 select
  colname,
  value
from @tab1
unpivot
(
  value
  for colname in ([name]
      ,[mobile]
      ,[address]
     )
) unpiv;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74470800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档