Ujednolicanie nazw kolorów
W poprzednim ćwiczeniu funkcja DIFFERENCE() posłużyła do zidentyfikowania kolorów zbliżonych do pożądanej reprezentacji koloru GRAY. Takie podejście zachowało jednak pewną liczbę rekordów, w których wartość vehicle_color mogła, ale nie musiała oznaczać szarego koloru. Konkretnie – ciąg GR (zielony) ma taki sam kod Soundex jak ciąg GRAY. Na szczęście rekordy z tymi wartościami vehicle_color można wykluczyć ze zbioru rekordów przeznaczonych do zmiany.
W tym ćwiczeniu przypiszesz spójną wartość vehicle_color dla szarego koloru, identyfikując podobne ciągi reprezentujące ten sam kolor. Moduł fuzzystrmatch jest już zainstalowany.
To ćwiczenie jest częścią kursu
Czyszczenie danych w bazach PostgreSQL
Instrukcje do ćwiczenia
- Uzupełnij klauzulę
SET, aby przypisać wartość'GRAY'jakovehicle_colordla rekordów, których wartośćvehicle_colorma kod Soundex zgodny z kodem Soundex ciągu'GRAY'. - Zaktualizuj klauzulę
WHEREpodzapytania tak, aby zwracane wartościsummons_numberwykluczały wartościsummons_numberz rekordów, w którychvehicle_colorwynosi'GR'.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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
___ != ___
);