Chuẩn hóa tên màu
Trong bài tập trước, hàm DIFFERENCE() được dùng để xác định các màu gần khớp với cách biểu diễn mong muốn của màu GRAY. Tuy nhiên, cách làm này giữ lại một số bản ghi mà giá trị vehicle_color có thể là xám hoặc không. Cụ thể, chuỗi GR (green) có cùng mã Soundex với chuỗi GRAY. May mắn là các bản ghi có các giá trị vehicle_color này có thể bị loại khỏi tập bản ghi cần thay đổi.
Trong bài tập này, bạn sẽ gán một giá trị vehicle_color màu xám nhất quán bằng cách nhận diện các chuỗi tương tự đại diện cho cùng một màu. Một lần nữa, mô-đun fuzzystrmatch đã được cài đặt sẵn cho bạn.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu trong cơ sở dữ liệu PostgreSQL
Hướng dẫn bài tập
- Hoàn thiện mệnh đề
SETđể gán'GRAY'làmvehicle_colorcho các bản ghi có giá trịvehicle_colorcó mã Soundex trùng với mã Soundex của'GRAY'. - Cập nhật mệnh đề
WHEREcủa truy vấn con để các giá trịsummons_numberđược trả về sẽ loại trừ cácsummons_numbertừ các bản ghi có giá trịvehicle_colorlà'GR'.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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
___ != ___
);