НачатьНачать бесплатно

Стандартизация названий цветов

В предыдущем упражнении функция 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
        ___ != ___
);
Редактировать и запускать код