sql server通过pivot对数据进行行列转换的方法
更新时间:2020年05月22日 09:35:41 作者:张工502219048
这篇文章主要介绍了sql server通过pivot对数据进行行列转换的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
脚本:
/* 说明:sql server如何通过pivot对数据进行行列转换 */ 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
脚本运行结果:

总结
到此这篇关于sql server通过pivot对数据进行行列转换的方法的文章就介绍到这了,更多相关sql server pivot行列转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
一列保存多个ID(将多个用逗号隔开的ID转换成用逗号隔开的名称)
在做项目时,经常会遇到这样的表结构在主表的中有一列保存的是用逗号隔开ID2012-07-07
使用FORFILES命令来删除SQLServer备份的批处理
利用这些参数可以构造下面的例子来解决你删除备份脚本文件的难题。你可以基于更改时间/日期或者备份类型来创建脚本。你甚至可以构造能够同时参照两种标准的脚本2012-05-05
sql server 数据库路径可以自己定制 sql server数据库存储位置
我们在安装sqlserver数据库的时候想自己定制数据库的存放位置,一个是默认程序与默认数据库的位置,另外一个是自己新建的数据库的时候的存放位置,其实都是可以自定义的2024-04-04
sqlserver数据库使用存储过程和dbmail实现定时发送邮件
这篇文章主要介绍了sqlserver数据库存储过程和Job实现定时从数据库发送邮件的功能,大家参考使用吧2014-01-01


最新评论