在工作中,大家可能会遇到一些SQL列转行.行转列的问题,恰好,我也遇到了,就在此记录一下.此处所用的是SQLServer2008R2. 行转列,列转行,都要预先知道要要处理多少数据,在此我就以三种方案来说明一下,分别是case when.PIVOT.For XML. 列转行: 首先创建测试数据: --测试语句,准备创建表的语句:如下 CREATE TABLE dbo.test1 ( id int IDENTITY(1,1) NOT NULL PRIMARY KEY NONCLUSTERED, t