在SQL Server中将行转换为列 [英] Convert rows to column in SQL server
本文介绍了在SQL Server中将行转换为列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有下表
姓名电邮MobileNo
1 0 1
输出表
FiledName IsValid
名称1
电子邮件0
MobileNo 1
我尝试了什么:
我使用了枢轴逻辑但没有获得所需的输出。
解决方案
你必须unpivot [ ^ ]数据;)
DECLARE @ tmp 表(名称 INT ,电子邮件 INT ,MobileNo INT )
INSERT INTO @ tmp (姓名,电子邮件,MobileNo)
VALUES ( 1 , 0 , 1 )
SELECT FieldName,IsValid
FROM @ tmp AS Pvt
UNPIVOT(IsValid FOR FieldName IN (名称,电子邮件,MobileNo)) AS UnPvt
create table T(Name int,Email int,MobileNo int)
insert into T值(1,0,1)
选择*来自T
选择FieldName,u.Isvaild来自T unpivot(Isvaild for FieldName in(Name,Email,MobileNo)) û
I have below table
Name Email MobileNo
1 0 1
OUTPUT TABLE
FiledName IsValid
Name 1
Email 0
MobileNo 1
What I have tried:
I have used pivot logic but do not get required output.
解决方案
You have to unpivot[^] data ;)
DECLARE @tmp TABLE(Name INT, Email INT, MobileNo INT) INSERT INTO @tmp(Name, Email, MobileNo) VALUES(1, 0, 1) SELECT FieldName, IsValid FROM @tmp AS Pvt UNPIVOT(IsValid FOR FieldName IN (Name, Email, MobileNo)) AS UnPvt
create table T (Name int,Email int,MobileNo int) insert into T values(1,0,1) select * from T select FieldName,u.Isvaild from T unpivot(Isvaild for FieldName in (Name ,Email ,MobileNo)) u
这篇关于在SQL Server中将行转换为列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文