我有一个名为Sample的表,它看起来像。

我希望输出如下所示

为此,我构建了以下查询:
SELECT YEAR/MONTH, 1L,3L,4L,6L,8L
FROM (
SELECT PANEL, LAYERCOUNT, MONTHS
FROM Sample) up
PIVOT (SUM(Count) FOR CountOFL IN (1L,3L,4L,6L,8L)) AS pvt
ORDER BY YEAR/MONTH但它给出的错误语法在'1‘附近。

发布于 2012-10-24 15:12:27
对于您给出的表结构,此查询将返回CountOFL列上的透视表:
SELECT YEARMONTH, [1L],[3L],[4L],[6L],[8L]
FROM Sample
PIVOT (SUM(RecordCount) FOR CountOFL IN ([1L],[3L],[4L],[6L],[8L])) AS pvt
ORDER BY YEARMONTH结果:
YEARMONTH 1L 3L 4L 6L 8L
-------------------------------- ----------- ----------- ----------- ----------- -----------
Dec2011 2 NULL NULL NULL NULL
Jan2011 NULL 4 NULL NULL NULL
Jul2012 2 NULL 5 NULL NULL
Jun2011 NULL NULL NULL NULL 1
Jun2012 2 NULL NULL 1 NULL
May2011 NULL 5 NULL NULL NULL
Sep2012 NULL 1 NULL NULL NULL因此,您需要将PIVOTed列的值括在方括号中。
https://stackoverflow.com/questions/13044272
复制相似问题