Standardisera färgnamn
I föregående övning användes funktionen DIFFERENCE() för att identifiera färger som liknade vår önskade representation av färgen GRAY. Den metoden behöll dock ett antal poster där värdet i vehicle_color inte nödvändigtvis är grått. Strängen GR (grönt) har till exempel samma Soundex-kod som strängen GRAY. Som tur är kan poster med dessa vehicle_color-värden uteslutas från de poster som ska ändras.
I den här övningen tilldelar du ett enhetligt grått vehicle_color-värde genom att identifiera liknande strängar som representerar samma färg. Modulen fuzzystrmatch är redan installerad.
Den här övningen är en del av kursen
Datarensning i PostgreSQL-databaser
Övningsinstruktioner
- Fyll i
SET-satsen så att'GRAY'tilldelas somvehicle_colorför poster varsvehicle_color-värde har en matchande Soundex-kod med Soundex-koden för'GRAY'. - Uppdatera
WHERE-satsen i underfrågan så att de returneradesummons_number-värdena exkluderarsummons_number-värden från poster därvehicle_colorär'GR'.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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
___ != ___
);