Mulai sekarangMulai gratis

Mengubah baris menjadi kolom

Dalam pelajaran ini, Anda mempelajari bahwa PIVOT mengubah nilai unik dari satu kolom menjadi beberapa kolom.

Saat menganalisis data paper_shop_monthly_sales, Anda menyadari struktur tabel ini tidak sesuai untuk laporan yang ingin Anda buat.

Anda ingin menghasilkan laporan dengan tampilan seperti ini:

|year_of_sale|notebooks|pencils|crayons|
|------------|---------|-------|-------|
| 2018       | 150     | 150   | 80    |
| 2019       | 230     | 130   | 170   |

Dengan kata lain, Anda ingin mengubah data yang ada di baris menjadi data dalam kolom, serta menjumlahkan unit untuk setiap tahun.

Seperti yang Anda pelajari dari latihan sebelumnya, nama produk dan unit harus dipisahkan. Ini dilakukan di subselect, silakan perhatikan.

Latihan ini merupakan bagian dari kursus

Membersihkan Data di Basis Data SQL Server

Lihat Kursus

Instruksi latihan

  • Pilih kolom hasil pivot untuk setiap produk.
  • Sertakan penjumlahan unit di dalam operator PIVOT.
  • Setelah pernyataan FOR, sertakan nama kolom yang berisi nilai yang akan menjadi header kolom.
  • Beri nama paper_shop_pivot untuk operator PIVOT.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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 ___
Edit dan Jalankan Kode