1 /*
2 SELECT <非透视的列>,
3
4 [第一个透视的列] AS <列名称>,
5
6 [第二个透视的列] AS <列名称>,
7
8 ...
9
10 [最后一个透视的列] AS <列名称>,
11
12 FROM
13
14 (<生成数据的 SELECT 查询>)
15
16 AS <源查询的别名>
17
18 PIVOT
19
20 (
21
22 <聚合函数>(<要聚合的列>)
23
24 FOR
25
26 [<包含要成为列标题的值的列>]
27
28 IN ( [第一个透视的列], [第二个透视的列],
29
30 ... [最后一个透视的列])
31
32 ) AS <透视表的别名>
33
34 <可选的 ORDER BY 子句>;
35
36
37 */
38
39 declare @tb table
40 (
41 cid int
42 ,cname varchar(10)
43 )
44 insert into @tb
45 select 1,'aa'
46 union all
47 select 2,'bb'
48
49 select * from @tb
50
51 declare @idaa int
52 ,@idbb int
53
54 select aa,bb
55 from(
56 select cid,cname from @tb
57 )as tt
58 pivot(
59 max(cid) for cname in([aa],bb)
60 )piv