Standardizace názvů barev
V předchozím cvičení jsi pomocí funkce DIFFERENCE() identifikoval/a barvy, které se úzce shodovaly s naším požadovaným zněním barvy GRAY. Tento přístup ale zachoval řadu záznamů, kde hodnota vehicle_color může, ale nemusí odpovídat šedé. Konkrétně řetězec GR (zelená) má stejný kód Soundex jako řetězec GRAY. Záznamy s těmito hodnotami vehicle_color lze naštěstí z množiny záznamů určených ke změně vyloučit.
V tomto cvičení přiřadíš konzistentní hodnotu vehicle_color pro šedou barvu tím, že identifikuješ podobné řetězce představující stejnou barvu. Modul fuzzystrmatch je opět k dispozici – není potřeba ho instalovat.
Toto cvičení je součástí kurzu
Cleaning Data in PostgreSQL Databases
Pokyny k cvičení
- Doplň klauzuli
SETtak, aby se hodnotěvehicle_colorpřiřadilo'GRAY'u záznamů, jejichž hodnotavehicle_colormá stejný kód Soundex jako kód Soundex pro'GRAY'. - Uprav klauzuli
WHEREpoddotazu tak, aby vrácené hodnotysummons_numbervylučovaly hodnotysummons_numberze záznamů, kde jevehicle_colorrovno'GR'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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
___ != ___
);