2

私はいくつかの列を持っており、ピボットを作成しています。複数の非ピボット列を作成し、最後の列を使用してピボットを作成したいと思います。ここでの元の仕様では、非ピボット列を1つだけ持つことができることが示されています。

SELECT <non-pivoted column>,

    [first pivoted column] AS <column name>,

    [second pivoted column] AS <column name>,

    ...

    [last pivoted column] AS <column name>

FROM

    (<SELECT query that produces the data>)

    AS <alias for the source query>

PIVOT

(

    <aggregation function>(<column being aggregated>)

FOR

[<column that contains the values that will become column headers>]

    IN ( [first pivoted column], [second pivoted column],

    ... [last pivoted column])

) AS <alias for the pivot table>

<optional ORDER BY clause>;

最初の列以降のすべての列を使用してデータをピボットするため、非ピボット列を増やす方法はありますか?

4

1 に答える 1

3

はい。それらを追加するだけです。

例えば

declare @t table (a int, b int, c int, d int)
insert @t values (1,2,3,4)
insert @t values (7,6,5,3)

select a,b, [3],[4] from @t s
pivot 
(sum(c) for d in ([3],[4])) p
于 2012-10-02T08:03:44.823 に答える