Standardizarea numelor de culori
În exercițiul anterior, funcția DIFFERENCE() a fost folosită pentru a identifica culorile care se potriveau îndeaproape cu reprezentarea dorită a culorii GRAY. Totuși, această abordare a reținut o serie de înregistrări în care valoarea vehicle_color putea sau nu să fie gri. Mai concret, șirul GR (verde) are același cod Soundex ca șirul GRAY. Din fericire, înregistrările cu aceste valori vehicle_color pot fi excluse din setul de înregistrări care trebuie modificate.
În acest exercițiu, vei atribui o valoare vehicle_color gri consistentă, identificând șiruri similare care reprezintă aceeași culoare. Modulul fuzzystrmatch a fost deja instalat pentru tine.
Acest exercițiu face parte din cursul
Curățarea datelor în baze de date PostgreSQL
Instrucțiuni pentru exercițiu
- Completează clauza
SETpentru a atribui'GRAY'ca valoarevehicle_colorînregistrărilor al căror cod Soundex corespunzător valoriivehicle_colorse potrivește cu codul Soundex al lui'GRAY'. - Actualizează clauza
WHEREdin subinterogare astfel încât valorilesummons_numberreturnate să excludă valorilesummons_numberdin înregistrările care au'GR'ca valoarevehicle_color.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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
___ != ___
);