การทำให้ชื่อสีเป็นมาตรฐาน
ในแบบฝึกหัดก่อนหน้า ได้ใช้ฟังก์ชัน DIFFERENCE() เพื่อระบุสีที่ใกล้เคียงกับสี GRAY ที่ต้องการ อย่างไรก็ตาม วิธีนี้ยังคงเก็บแถวบางส่วนไว้ซึ่งค่า vehicle_color อาจเป็นหรือไม่เป็นสีเทาก็ได้ โดยเฉพาะอย่างยิ่ง สตริง GR (สีเขียว) มี Soundex code เดียวกันกับสตริง GRAY โชคดีที่สามารถยกเว้นแถวที่มีค่า vehicle_color เหล่านี้ออกจากชุดแถวที่ต้องการเปลี่ยนได้
ในแบบฝึกหัดนี้ จะกำหนดค่า vehicle_color สีเทาที่สม่ำเสมอ โดยระบุสตริงที่คล้ายกันซึ่งแทนสีเดียวกัน โดยโมดูล fuzzystrmatch ได้ติดตั้งไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลในฐานข้อมูล PostgreSQL
คำแนะนำการฝึกหัด
- เติมคำสั่ง
SETเพื่อกำหนด'GRAY'เป็นค่าvehicle_colorสำหรับแถวที่มีค่าvehicle_colorซึ่ง Soundex code ตรงกับ Soundex code ของ'GRAY' - อัปเดตคำสั่ง
WHEREในคิวรีย่อย เพื่อให้ค่าsummons_numberที่ได้รับ ยกเว้น ค่าsummons_numberจากแถวที่มีvehicle_colorเป็น'GR'
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
UPDATE
parking_violation
SET
-- Update vehicle_color to `GRAY`
___ = ___
WHERE
summons_number IN (
SELECT
summons_number
FROM
parking_violation
WHERE
DIFFERENCE(vehicle_color, 'GRAY') = 4 AND
-- Filter out records that have GR as vehicle_color
___ != ___
);