sqlserver如何通过pivot对数据进行行列转换
脚本:
/*说明:sql server如何通过pivot对数据进行行列转换
脚本来源:https://www.cnblogs.com/zhang502219048/p/12933347.html
*/createtable #t
(
[员工工号]nvarchar(50),
[员工姓名]nvarchar(50),
[月份]nvarchar(50),
[工资]int
)
insertinto #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
orderby[员工工号]
droptable #t
脚本运行结果:
【转载请注明博文来源:https://www.cnblogs.com/zhang502219048/p/12933347.html】
以上是 sqlserver如何通过pivot对数据进行行列转换 的全部内容, 来源链接: utcz.com/z/533765.html