• sql server如何通过pivot对数据进行行列转换


    脚本:

    /*
    说明:sql server如何通过pivot对数据进行行列转换
    脚本来源:https://www.cnblogs.com/zhang502219048/p/12933347.html
    */
    create table #t
    (
        [员工工号] nvarchar(50),
        [员工姓名] nvarchar(50),
        [月份] nvarchar(50),
        [工资] int
    )
    
    insert into #t
    values(N'01', N'张三', N'2020年01月', 2400)
         ,(N'02', N'李四', N'2020年01月', 3000)
    
         ,(N'01', N'张三', N'2020年02月', 2400)
         ,(N'02', N'李四', N'2020年02月', 3000)
         ,(N'03', N'王五', N'2020年02月', 5500)
    
         ,(N'01', N'张三', N'2020年03月', 2400)
         ,(N'02', N'李四', N'2020年03月', 1200)
         ,(N'03', N'王五', N'2020年03月', 5500)
         ,(N'04', N'赵六', N'2020年03月', 30000)
    
         ,(N'01', N'张三', N'2020年04月', 3000)
         ,(N'03', N'王五', N'2020年04月', 5500)
         ,(N'04', N'赵六', N'2020年04月', 30000)
    
    --行列转换前的源数据
    select * from #t
    
    --行列转换后的目标数据
    select [员工工号], [员工姓名]
         , [2020年01月], [2020年02月], [2020年03月], [2020年04月]
    from #t D
    pivot(max([工资]) for [月份] in ([2020年01月], [2020年02月], [2020年03月], [2020年04月])) Q
    order by [员工工号]
    
    drop table #t

    脚本运行结果:

    【转载请注明博文来源:https://www.cnblogs.com/zhang502219048/p/12933347.html】

  • 相关阅读:
    前端框架AngularJS入门
    springcloud---Eureka yml
    springcloud 的Eureka配置
    虚拟机中文件和目录的相关操作
    SpringBoot整合Redis
    IDEA整合GIT操作
    Ubuntu 安装步骤
    Centos 7 安装
    Centos 6 安装步骤
    防止root口令被破解
  • 原文地址:https://www.cnblogs.com/zhang502219048/p/12933347.html
Copyright © 2020-2023  润新知