CASE式を使用せずとも、PIVOT演算子を使用することで、
クロス集計表を作成できます!
「クロス集計表」や「CASE式を使用したクロス集計表の作成」に
ついては、以下の記事を参照してください!
PIVOT演算子とは
「Transact-SQL(T-SQL)」に含まれているモノです。
よってSQL Serverでのみ使用できます。
PIVOT演算子を使用することで、テーブルのデータをクロス集計表の形で出力できます。
準備
以下の記事の見出し「準備」を実施します。
SQLと実行結果
例として、ここでは以下のクロス集計表を出力します。
・表側に「年月」
・表頭に「商品」
--「年月毎における商品ごとの売上」のクロス集計表を出力
SELECT
*
FROM
(
SELECT
FORMAT(saleDate, 'yyyyMM') AS '売上年月',
productName AS '商品名',
price AS '売上'
FROM sales
) AS TEMP
PIVOT ( SUM(売上)
FOR 商品名 IN ([りんご],[みかん])
) AS PVT
結果の確認
以下の記事の見出し「結果の確認」を実施します。
PIVOT演算子はSQL Serverでのみ使用可能です。
他のRDBMSでは使用不可です。
クロス集計表を出力する際は、
汎用性等を考慮し標準SQLであるCASE式の使用を推奨します!