Стандартизация названий цветов
В предыдущем упражнении функция DIFFERENCE() использовалась для выявления цветов, близких к нужному нам обозначению цвета GRAY. Однако этот подход сохранял ряд записей, в которых значение vehicle_color могло как соответствовать серому цвету, так и не соответствовать ему. В частности, строка GR (зелёный) имеет тот же код Soundex, что и строка GRAY. К счастью, записи с такими значениями vehicle_color можно исключить из набора записей, подлежащих изменению.
В этом упражнении вы присвоите единое значение vehicle_color для серого цвета, определив похожие строки, обозначающие один и тот же цвет. Модуль fuzzystrmatch уже установлен.
Это упражнение является частью курса
Очистка данных в базах данных PostgreSQL
Инструкции к упражнению
- Дополните выражение
SET, чтобы присвоить значение'GRAY'полюvehicle_colorдля записей, у которых код Soundex значенияvehicle_colorсовпадает с кодом Soundex строки'GRAY'. - Обновите условие
WHEREв подзапросе так, чтобы возвращаемые значенияsummons_numberисключали значенияsummons_numberиз записей, у которыхvehicle_colorравен'GR'.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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
___ != ___
);