はい、そう思います。 MAX
を使用すると、このようなピボットを簡単に実行できます。 集計:
SELECT
*
FROM
(
SELECT
project,
attribute,
value
FROM
table1
) AS SourceTable
PIVOT
(
MAX(value)
FOR attribute IN ([foo],[bar],[baz])
) AS pvt
それ以外の場合は、max集計内でcaseステートメントを実行する必要があります。このように:
SELECT
MAX(CASE WHEN attribute='foo' THEN value ELSE NULL END) AS foo,
MAX(CASE WHEN attribute='bar' THEN value ELSE NULL END) AS bar,
MAX(CASE WHEN attribute='baz' THEN value ELSE NULL END) AS baz,
project
FROM
table1
GROUP BY
project
これは、PIVOT
を実行するのとほぼ同じです。 。しかし、私はPIVOT
を実行したいと思います CASE WHEN MAX
を介して ..