-
基本的なピボットテーブルの作成方法:
SELECT 列1, 列2, ..., MAX(CASE WHEN 条件1 THEN 値 END) AS 列名1, MAX(CASE WHEN 条件2 THEN 値 END) AS 列名2, ... FROM テーブル名 GROUP BY 列1, 列2, ...
このクエリでは、条件に基づいて値を集計し、新しい列として表示します。
-
動的なピボットテーブルの作成方法:
DECLARE @動的クエリ NVARCHAR(MAX) SELECT @動的クエリ = N' SELECT 列1, 列2, ..., ' + STRING_AGG(' MAX(CASE WHEN ' + 条件 + ' THEN 値 END) AS ' + 列名, ',') + ' FROM テーブル名 GROUP BY 列1, 列2, ... ' FROM 条件と列名のマッピングテーブル SET @動的クエリ = REPLACE(@動的クエリ, ',', '') EXEC sp_executesql @動的クエリ
この方法では、条件と列名をマッピングするテーブルを使用して、動的なピボットテーブルを作成します。これにより、列数が動的に変わる場合でも対応できます。
これらは基本的なピボットテーブルの作成方法の例です。実際の使用例に応じて、クエリをカスタマイズすることができます。データ分析や集計において、ピボットテーブルは非常に便利なツールであり、大量のデータを要約して可視化するために広く使用されています。