代码如下 | 复制代码 |
/* SELECT <非透视的列>, [第一个透视的列] AS <列名称>, [第二个透视的列] AS <列名称>, ... [最后一个透视的列] AS <列名称>, FROM (<生成数据的 SELECT 查询>) AS <源查询的别名> PIVOT ( <聚合函数>(<要聚合的列>) FOR [<包含要成为列标题的值的列>] IN ( [第一个透视的列], [第二个透视的列], ... [最后一个透视的列]) ) AS <透视表的别名> <可选的 ORDER BY 子句>; */ declare @tb table ( cid int ,cname varchar (10) ) insert into @tb union all select 2, 'bb' select * from @tb declare @idaa int ,@idbb int select aa,bb from ( select cid,cname from @tb ) as tt pivot( max (cid) for cname in ([aa],bb) )piv |