Padronizando nomes de cores
No exercício anterior, a função DIFFERENCE() foi usada para identificar cores que se aproximavam da nossa representação desejada para a cor GRAY. No entanto, essa abordagem manteve vários registros em que o valor de vehicle_color pode ou não ser cinza. Especificamente, a string GR (green) tem o mesmo código Soundex que a string GRAY. Felizmente, registros com esses valores de vehicle_color podem ser excluídos do conjunto de registros que devem ser alterados.
Neste exercício, você vai atribuir um valor consistente de vehicle_color cinza, identificando strings semelhantes que representam a mesma cor. Novamente, o módulo fuzzystrmatch já foi instalado para você.
Este exercicio faz parte do curso
Limpeza de dados em bancos de dados PostgreSQL
Instruções do exercicio
- Complete a cláusula
SETpara definir'GRAY'como ovehicle_colorpara os registros cujo valor devehicle_colortenha um código Soundex correspondente ao código Soundex de'GRAY'. - Atualize a cláusula
WHEREda subconsulta para que os valores desummons_numberretornados excluam ossummons_numberde registros com'GR'como valor devehicle_color.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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
___ != ___
);