您的位置:首页 > 数据库 > > 正文

sqlserver纵表变横表(SQL Server行转列的方法解析)

更多 时间:2021-11-08 16:08:19 类别:数据库 浏览量:2485

sqlserver纵表变横表

SQL Server行转列的方法解析

话不多说,请看代码:

  • /*
    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
    
    
  • 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持开心学习网!

    标签:sql 行转列
    您可能感兴趣