我正在处理一个 T-SQL 问题,我需要将行转换为列,并根据在 Sql 中转换列和行的简单方法中的帖子一起使用 UNPIVOT 和 PIVOT?
没问题。它完全符合我对行/列操作的要求。但是,我真正想做的是让用于列标题的值成为结果中的另一行。
我的缩写代码是:
SELECT *
FROM (SELECT fiscalyear,
Sum(totalrecords) AS TotalRecords
FROM dbo.tbleirstatisticsoverviewsummary
WHERE fiscalquarter = 'ALL'
AND branchcode = 'ALL'
GROUP BY fiscalyear,
fiscalquarter,
branchcode) AS p
UNPIVOT (value
FOR colname IN ( totalrecords )) AS unpvt
PIVOT (Max(value) For FiscalYear IN ([2012],[2013],[ALL])) as p
它呈现的是:
colname 2012 2013 ALL
TotalRecords 421 227 648
第一行是列标题。
关于如何让列标题成为数据行的任何想法?
添加一些示例原始数据会计年度 TotalRecords 2012 421 2013 227 ALL 648