Satırları sütunlara dönüştürme
Bu derste, PIVOT'un bir sütundaki benzersiz değerleri birden çok sütuna dönüştürdüğünü öğrendin.
paper_shop_monthly_sales verisini incelerken, bu tablonun yapısının hazırlamak istediğin rapor için uygun olmadığını fark ediyorsun.
Şu görünüme sahip bir rapor üretmek istiyorsun:
|year_of_sale|notebooks|pencils|crayons|
|------------|---------|-------|-------|
| 2018 | 150 | 150 | 80 |
| 2019 | 230 | 130 | 170 |
Başka bir deyişle, satırlardaki veriyi sütunlara dönüştürmek ve her yıl için birimleri toplamak istiyorsun.
Önceki egzersizlerden öğrendiğin gibi, ürün adları ve birimler ayrılmalı. Bu işlem alt seçimde yapılıyor, bir göz at.
Bu egzersiz
SQL Server Veritabanlarında Veri Temizleme
kursunun bir parçasıdırEgzersiz talimatları
- Her ürün için pivotlanan sütunları seç.
PIVOToperatörünün içine birimlerin toplamını ekle.FORifadesinden sonra, sütun başlığına dönüşecek değerleri içeren sütunun adını ekle.PIVOToperatörünepaper_shop_pivotadını ver.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
SELECT
year_of_sale,
-- Select the pivoted columns
___,
___,
___
FROM
(SELECT
SUBSTRING(product_name_units, 1, charindex('-', product_name_units)-1) product_name,
CAST(SUBSTRING(product_name_units, charindex('-', product_name_units)+1, len(product_name_units)) AS INT) units,
year_of_sale
FROM paper_shop_monthly_sales) sales
-- Sum the units for column that contains the values that will be column headers
PIVOT (SUM(___) FOR ___ IN (notebooks, pencils, crayons))
-- Give the alias name
AS ___