0

我有一个名为 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”附近给出错误语法错误。

在此处输入图像描述

4

1 回答 1

3

对于您提供的表结构,此查询将返回 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 列的值括在方括号中。

于 2012-10-24T07:12:27.230 回答