0

グループ化 ID をピボットするストアド プロシージャ (またはクエリ式) を作成しようとしています。ここや他の場所の例を見た後、ストアド プロシージャでピボット ステートメントを機能させることができませんでした。助けを求めています。

また、これが LIST の LINQ で実行できれば、それは私にとっても解決策になります。

theID     theGroup   theValue
1          2          Red
2          2          Blue
3          2          Green
1          3          10
2          3          24
3          3          30
1          4          1
2          4          2
3          4          3

グループ #2 は CHOICE を意味し、グループ #3 は COUNT を意味し、グループ #4 は SORT を意味するので、これらの列に名前を付けたいと思います (これは PIVOT の欠点だと認識していますが、それで問題ありません)。

ID        CHOICE     COUNT      SORT
1         Red        10     1
2         Blue       24     2
3         Green      30     3
4

2 に答える 2

1

これは私にとってはうまくいき、SPでうまくいくはずです:

SELECT  theID AS ID
       ,[2] AS CHOICE
       ,[3] AS COUNT
       ,[4] AS SORT
FROM    so_666934 PIVOT ( MAX(theValue) FOR theGroup IN ([2], [3], [4]) ) AS pvt

時間の経過とともに変化するグループを処理するために動的 SQL で実行できるトリックがあり、PIVOT の前に theGroup を効果的に名前に置き換えることで、名前をピボットすることもできます。

于 2009-03-20T16:47:44.110 に答える