Standardiser les noms de couleurs
Dans l’exercice précédent, la fonction DIFFERENCE() a été utilisée pour identifier les couleurs proches de notre représentation souhaitée de la couleur GRAY. Cependant, cette approche a conservé un certain nombre d’enregistrements où la valeur vehicle_color peut correspondre ou non au gris. En particulier, la chaîne GR (vert) possède le même code Soundex que la chaîne GRAY. Heureusement, les enregistrements ayant ces valeurs de vehicle_color peuvent être exclus de l’ensemble des enregistrements à modifier.
Dans cet exercice, vous allez attribuer une valeur de vehicle_color grise cohérente en identifiant des chaînes similaires qui représentent la même couleur. Là encore, le module fuzzystrmatch a déjà été installé pour vous.
Cet exercice fait partie du cours
Nettoyer des données dans des bases PostgreSQL
Instructions
- Complétez la clause
SETpour affecter'GRAY'àvehicle_colorpour les enregistrements dont la valeurvehicle_colora un code Soundex correspondant au code Soundex de'GRAY'. - Mettez à jour la clause
WHEREde la sous‑requête afin que les valeurssummons_numberrenvoyées excluent les valeurssummons_numberdes enregistrements dont la valeurvehicle_colorest'GR'.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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
___ != ___
);