列を行に変換する
前の演習では、行にあった製品名を列に変換し、さらに各年ごとに製品の数量を集計しました。
前の演習の結果を pivot_sales という新しいテーブルに保存したとします。ここから、notebooks、pencils、crayons の列を行の値に変換したいとします。
期待される結果は次のとおりです。
| year_of_sale | units | product_name |
|--------------|-------|--------------|
| 2018 | 150 | notebooks |
| 2018 | 150 | pencils |
| 2018 | 80 | crayons |
| 2019 | 230 | notebooks |
| 2019 | 130 | pencils |
| 2019 | 170 | crayons |
この演習はコースの一部です
SQL Server データベースでのデータクレンジング
演習の手順
- 列を行に変換するために適切な演算子を使ってください。
- 変換後の列名(行に変換した列名を保持する列)を書いてください。
- 行に変換したい列名を指定してください。
UNPIVOT演算子にエイリアスunpivot_salesを付けてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
SELECT * FROM pivot_sales
-- Use the operator to convert columns into rows
___
-- The resulting column that will contain the turned columns into rows
(units FOR ___ IN (___, ___, ___))
-- Give the alias name
AS ___