今天正好做 数据展示,用到了列转行,行转列有多种方式,Pivot是其中的一种,Povit 是sql server 2005以后才出现的功能, 下面的业务场景: 每个月,进货渠道的总计数量[Total],有中文,英文年月,等数据列, 原始数据如下: 需求: 需要把数据按每一年的1月到12月展示成一行,如上图,怎么办?Povit排上用场了 有的年,可能不是每个月都有,也就是动态列的生成了. 首先要做的就是构建1到12月, DECLARE @temp NVARCHAR(max)='' SELECT @