Sql 列应转换为行

Sql 列应转换为行,sql,sql-server,sql-server-2008,sql-server-2008-r2,sql-server-2012,Sql,Sql Server,Sql Server 2008,Sql Server 2008 R2,Sql Server 2012,下表中有数据 CREATE TABLE [dbo].[T_shirt_sizes]( [Id] [int] IDENTITY(1,1) NOT NULL primary key, [Code] [varchar](100) NULL, [Length] [varchar](100) NULL, [Chest] [varchar](100) NULL, [Shoulder] [varchar](100) NULL, [Sleeve Length] [varch

下表中有数据

 CREATE TABLE [dbo].[T_shirt_sizes](
   [Id] [int] IDENTITY(1,1) NOT NULL primary key,
   [Code] [varchar](100) NULL,
   [Length] [varchar](100) NULL,
   [Chest] [varchar](100) NULL,
   [Shoulder] [varchar](100) NULL,
   [Sleeve Length] [varchar](100) NULL
  )
insert into T_shirt_sizes values('XXS','20’','29”','13 1/4”','6”')
insert into T_shirt_sizes values('XS','21 3/4”','31"','14 1/2”','6 1/8”')
insert into T_shirt_sizes values('S','23 3/4”','33"','16 1/4”','6 1/4')
insert into T_shirt_sizes values('M','25 3/4”','36"','17','7”')
insert into T_shirt_sizes values('L','27 3/4”','39"','17 1/2”','7 1/2')
我想得到这样的输出

 T-shirts   | XXXS    | XXS    | XS     |   S       |  M    | L
 -----------------------------------------------------
 Length      18 3/4”  | 20’    |21 3/4” | 23 3/4”   |25 3/4”|   27 3/4”
 Chest          27”   | 29”    |31”     |  33”      |  36”  |    39”
 Shoulder     12 1/2” | 13 1/4”| 14 1/2”| 16 1/4”   |17”    |  17 1/2”
 Sleeve Length  5 1/2”| 6”     | 6 1/8” |  6 1/4    |7”     |  7 1/2

请帮助解决上述问题

您需要再次
UNPIVOT
PIVOT

WITH Unpivoted AS
(
    SELECT Code, Fields, [Value]
    FROM #T_shirt_sizes
    UNPIVOT( [Value]
             FOR Fields IN( [Length],[Chest],[Shoulder],[Sleeve Length])) AS u
)
SELECT Fields AS [T-Shirt], [XXXS], [XXS], [XS], [S], [M],[L]
FROM Unpivoted
PIVOT ( MAX([Value])
        FOR Code IN([XXXS], [XXS], [XS], [S], [M],[L])) AS piv;  

StackOverflow不是一种代码编写服务。告诉我们您做了什么,编写代码,如果您有问题,请提出具体问题。您的输入数据不包含
XXXS