Estandarizar nombres de colores
En el ejercicio anterior, se utilizó la función DIFFERENCE() para identificar colores que se aproximaban a nuestra representación deseada del color GRAY. Sin embargo, este enfoque conservó varios registros en los que el valor de vehicle_color puede o no corresponder a gris. En concreto, la cadena GR (green) tiene el mismo código Soundex que la cadena GRAY. Por suerte, los registros con estos valores de vehicle_color pueden excluirse del conjunto de registros que deben cambiarse.
En este ejercicio, asignarás un valor de vehicle_color gris coherente identificando cadenas similares que representen el mismo color. De nuevo, el módulo fuzzystrmatch ya está instalado para ti.
Este ejercicio forma parte del curso
Limpieza de datos en bases de datos PostgreSQL
Instrucciones del ejercicio
- Completa la cláusula
SETpara asignar'GRAY'comovehicle_coloren los registros cuyo valor devehicle_colortenga un código Soundex que coincida con el de'GRAY'. - Actualiza la cláusula
WHEREde la subconsulta para que los valores desummons_numberdevueltos excluyan lossummons_numberde los registros con'GR'como valor devehicle_color.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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
___ != ___
);