การแปลงคอลัมน์เป็นแถว
ในแบบฝึกหัดก่อนหน้า คุณได้แปลงชื่อสินค้าที่อยู่ในแถวให้กลายเป็นคอลัมน์ แล้วสรุปจำนวนหน่วยของสินค้าในแต่ละปี
สมมติว่าได้บันทึกผลลัพธ์จากแบบฝึกหัดนั้นลงในตารางใหม่ชื่อ 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
คำแนะนำการฝึกหัด
- ใช้ operator ที่เหมาะสมเพื่อแปลงคอลัมน์เป็นแถว
- ระบุชื่อคอลัมน์ผลลัพธ์ที่จะเก็บค่าจากคอลัมน์ที่แปลงมา
- ระบุชื่อคอลัมน์ที่ต้องการแปลงเป็นแถว
- กำหนด alias ให้กับ operator
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 ___