1

以下のデータを考えると、

TEST_SET_1   TEST_1     PASSED

TEST_SET_1   TEST_1     NOT COMPLETED

TEST_SET_1   TEST_1     PASSED

TEST_SET_1   TEST_1     FAILED

TEST_SET_1   TEST_1     FAILED

以下のように表示されるように SQL を使用してフォーマットするにはどうすればよいですか?

TEST SET    TEST      PASSED   FAILED   NOT COMPLETED

TEST_SET_1   TEST_1      2         2           1
4

1 に答える 1

2

このようなもの:

SELECT
    [TEST SET],
    [TEST],
    SUM(CASE WHEN [state]='PASSED' THEN 1 ELSE 0 END) AS PASSED,
    SUM(CASE WHEN [state]='FAILED' THEN 1 ELSE 0 END) AS FAILED,
    SUM(CASE WHEN [state]='NOT COMPLETED' THEN 1 ELSE 0 END) AS [NOT COMPLETED]
FROM
    table
GROUP BY
    [TEST SET],
    [TEST]

PIVOTまたは、 MSSQL 2005+ を使用して実行したい場合。次に、次のようにします。

SELECT
    *
FROM
(
    SELECT
        [TEST SET],
        [TEST],
        [state],
        1 AS StaticNbr
    FROM
        table
) AS SorceTable
PIVOT
(
    SUM(StaticNbr)
    FOR [state] IN ([PASSED], [FAILED], [NOT COMPLETED])
) AS pvt
于 2013-02-14T23:32:27.613 に答える