【发布时间】:2017-10-23 13:29:10
【问题描述】:
我有一张如下所示的表格: SourceTable
CREATE TABLE [Temp].[tblMyleneTest]
(
[DispOrder] [INT] NULL,
[ReferencePeriod] [VARCHAR](7) NULL,
[TypeOfGSUF] [VARCHAR](8) NULL,
[FactAllocReferencePeriod] [VARCHAR](4) NULL,
[Variable] [VARCHAR](50) NULL,
[Value] [INT] NULL
) ON [PRIMARY]
INSERT INTO [Temp].[tblMyleneTest]
VALUES (1, '201710F', 'Reduced', '2015', 'OperatingEntityNumberCount', '13540688'),
(2, '201710F', 'Reduced', '2015', 'EnterpriseCodeCount', '6041138'),
(3, '201710F', 'Reduced', '2015', 'EstablishmentCodeCount', '6554081'),
(4, '201710F', 'Reduced', '2015', 'LocationCodeCount', '6600130'),
(5, '201710F', 'Reduced', '2015', 'NAICSNotNullCount', '9943634'),
(6, '201710F', 'Reduced', '2015', 'ReportingEntityNumbeCount', '2608'),
(7, '201710F', 'Reduced', '2015', 'LocationCode_NotEverAliveCount', '2339'),
(8, '201710F', 'Reduced', '2015', 'OperatingEntityNumberCountFF', '3078'),
(1, '201706F', 'Reduced', '2014', 'OperatingEntityNumberCount', '13557946'),
(2, '201706F', 'Reduced', '2014', 'EnterpriseCodeCount', '6046857'),
(3, '201706F', 'Reduced', '2014', 'EstablishmentCodeCount', '6560136'),
(4, '201706F', 'Reduced', '2014', 'LocationCodeCount', '6606226'),
(8, '201706F', 'Reduced', '2014', 'OperatingEntityNumberCountFF', '3078')
我希望将 ReferencePeriod、FactAllocReferencePeriod 和 TypeOfGSUF 分组。如您所见,具有相同变量名称的 2 条记录。 ReferencePeriod 201710F 和另一个 201706F。我希望这些计数并排。我想要这样的东西:
我可以旋转表格以将ReferencePeriod 向上移动。但不是相关的 FactAllocReferencePeriod/TypeOfGSUF...
SELECT *
FROM [Temp].[tblMyleneTest]
PIVOT (MAX(value) FOR ReferencePeriod IN ([201710F], [201706F])) p
你能帮我解决这个问题吗?
【问题讨论】:
-
第一个问题的出色工作。看到人们发布表格以及示例数据总是很棒。以及发布所需结果的奖励积分。
标签: sql sql-server pivot transpose