美文网首页sql脚本
SqlServer 多列行转列

SqlServer 多列行转列

作者: 孙沛2010 | 来源:发表于2018-10-20 15:08 被阅读0次

    1.原始数据


    2.将数据中value1和value2根据co_id显示到一行:


    示例代码

    --1.创建表

    create table #ch

    (co_id int,sn varchar(5),value1 varchar(50),value2 varchar(50))

    --2.初始化数据

    insert into #ch

    select 1,'1','2015-05-01 00:00:00.000','10.00%' union all

    select 1,'2','2016-05-01 00:00:00.000','15.00%'

    --3.原始数据展示

    select * from #ch

    --4.多行转列的结果

    select co_id,[1(value1)],[1(value2)],[2(value1)],[2(value2)]

    from

    (select co_id,sn+'('+c+')' 'c',v

    from

    #ch a

    unpivot(v for c in([value1],[value2])) u) b

    pivot(max(v) for c in([1(value1)],[1(value2)],[2(value1)],[2(value2)])) p

    --5.清除临时表

    drop table #ch

    参考 https://blog.csdn.net/xnlzg/article/details/55668531

    相关文章

      网友评论

        本文标题:SqlServer 多列行转列

        本文链接:https://www.haomeiwen.com/subject/jskmzftx.html