SQLの列を最も簡単にピボットする方法
UNPIVOT キーワードを使用して列を回転させるのが最も簡単な方法です。
例えば、”table_name”という名前のテーブルがあり、構造とデータは以下のようであるとします。
col1 | col2 | col3
-----+------+------+
val1 | val2 | val3
UNPIVOT キーワードで列を行に変換できます。
SELECT *
FROM table_name
UNPIVOT (column_value FOR column_name IN (col1, col2, col3)) unpivot_data;
このクエリを実行すると、次の結果が生成されます。
column_name | column_value
------------+--------------
col1 | val1
col2 | val2
col3 | val3
こうして元の列は行に変換され、各行は列名と対応する値を含むようになります。