1
多くのレベルの列を使用してSQL Serverでピボットを実行しようとしています。現在、私は変数を使用しているPIVOT
select '[' + category_1 + '],', count(*) from myTable group by '[' + category_1 + '],'
やコピーを行うと、テキストエディタに出力を貼り付けています。
変数を宣言して、それをpivotコマンドのIN ([],[],[])
情報として使用できるかどうかは疑問でした。誰もそれを行うことができましたか?
私はそれがこのようなものに見えると思う:私が正しくあなたを理解していた場合
@factorLevels = (select '[' + category_1 + '],' from (select category_1, count(*) from myTable) t1)
SELECT *
FROM
(select category_1, item_count from myTable) as t1
PIVOT
(
SUM(item_count)
FOR category_1 IN (@factorLevels)
) as PivotTable;
これはのように聞こえる[: あなたはピボットしたいことでフィールドのすべての値を含む変数を設定し、変数にクエリ自体を割り当て、結果を得るためにそれを実行する必要があります。動的ピボット](https://stackoverflow.com/a/40598475/6167855)。それはあなたが目指しているものでしょうか? [別の例](https://stackoverflow.com/a/39513013/6167855) – scsimon
@scsimon:これは私が必要なもののようです - ありがとう! – screechOwl
問題はありません@screechOwl – scsimon