小编Lac*_* Ho的帖子

将多列透视为 SQL Server 中的行?

我有一个像这样的数据表

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)
Run Code Online (Sandbox Code Playgroud)

如何选择并使数据显示为

最终结果

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 
            ( …
Run Code Online (Sandbox Code Playgroud)

sql-server pivot unpivot

5
推荐指数
1
解决办法
9033
查看次数

标签 统计

pivot ×1

sql-server ×1

unpivot ×1