在SQL Server中如何将包含varchar列的1行转换为列? 我想我需要使用Pivot但我找不到没有agregators的例子
这就是我的情况:
create table #tmp ( ac varchar(100), bc varchar(100), cc varchar(100))
insert into #tmp (ac,bc,cc)
Values ('test1','test2','test3')
insert into #tmp
Values ('test4','test5','test6')
SELECT *
FROM #tmp
WHERE ac='test1'
drop table #tmp
我需要在列中转换select的结果,我将在另一个嵌套查询中使用结果列。
谢谢!
答案 0 :(得分:1)
你需要使用UNPIVOT,而不是PIVOT
create table #tmp ( ac varchar(100), bc varchar(100), cc varchar(100))
insert into #tmp (ac,bc,cc)
Values ('test1','test2','test3')
SELECT
*
FROM
#tmp
SELECT
*
FROM
#tmp
UNPIVOT
(
[Column] FOR Data IN (ac, bc, cc)
) uPIVOT
drop table #tmp