我有一张这样的数据表
create table temp
(
colName varchar(50),
name varchar(50),
icon varchar(150),
totalcount int
)
insert into temp values ('Eng1', 'Following', 'followingicon.png', 1564)
insert into temp values ('Eng2','Total Followers', 'followericon.png', 500)
insert into temp values ('Eng3','Direct Messages', 'messageicon.png', 800)
如何选择并使数据显示为
Eng1、Eng2 和 Eng3 为列标题
这是我到目前为止得到的,但它只做第一级。我需要获得所有三个级别
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.colName)
FROM temp c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT ' + @cols + ' from
(
select colName
, totalcount
from temp
) x
pivot
(
max( totalcount)
for colName in (' + @cols + ')
) p'
execute(@query)
我正在使用 SQL Server 2008。
谢谢您的帮助!