SQL基本用法-行转列

 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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区