mssql sqlserver 横表纵表旋转的方法分享


摘要:
下文分享sqlserver中对表进行行列转换的方法,如下所示:
实验环境:sql serve 2008 R2



横纵表场景及优点说明:

横表样式:

主键列

列1

列2

列3

列4

列5 …

纵表样式:

主键列

列类型

列值


横纵表应用场景:

例:
一个业务记录表:
使用横表记录,有以下列名:

客户名

工时费

材料费

拖车费

外协费

工时券

材料券

其它费用

使用纵表记录,有以下列名:

客户名

费用类别

费用数值


横纵表优点说明:
横表:方便数据报表的生成,在生成查阅数据时,系统业务扩展受阻(因为扩展会增大横向表的列名),可避免多次使用group by 提高系统性能
纵表:占用存储空间少,变更数据方便,数据整齐,
纵表:方便系统扩展


相关阅读:
mssql sqlserver sql脚本行列互转方法分享
SQL行列转换[老生常谈]–SQL内置函数PIVOT 简介
mssql sqlserver 不固定行转列数据(动态列)