SQL基本用法-行转列

时间:2023-03-09 08:54:26
SQL基本用法-行转列
 /*
SELECT <非透视的列>, [第一个透视的列] AS <列名称>, [第二个透视的列] AS <列名称>, ... [最后一个透视的列] AS <列名称>, FROM (<生成数据的 SELECT 查询>) AS <源查询的别名> PIVOT ( <聚合函数>(<要聚合的列>) FOR [<包含要成为列标题的值的列>] IN ( [第一个透视的列], [第二个透视的列], ... [最后一个透视的列]) ) AS <透视表的别名> <可选的 ORDER BY 子句>; */ declare @tb table
(
cid int
,cname varchar(10)
)
insert into @tb
select 1,'aa'
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