Standardizzare i nomi dei colori
Nell’esercizio precedente, la funzione DIFFERENCE() è stata usata per identificare i colori che corrispondevano da vicino alla nostra rappresentazione desiderata del colore GRAY. Tuttavia, questo approccio ha mantenuto diversi record in cui il valore vehicle_color potrebbe essere o meno grigio. In particolare, la stringa GR (green) ha lo stesso codice Soundex della stringa GRAY. Fortunatamente, i record con questi valori di vehicle_color possono essere esclusi dall’insieme di record che dovrebbero essere modificati.
In questo esercizio, assegnerai un valore vehicle_color grigio coerente identificando stringhe simili che rappresentano lo stesso colore. Anche qui, il modulo fuzzystrmatch è già stato installato per te.
Questo esercizio fa parte del corso
Pulizia dei dati nei database PostgreSQL
Istruzioni dell'esercizio
- Completa la clausola
SETper assegnare'GRAY'comevehicle_colorper i record con un valore divehicle_coloril cui codice Soundex corrisponde al codice Soundex di'GRAY'. - Aggiorna la clausola
WHEREdella sottoquery in modo che i valori disummons_numberrestituiti escludano i valori disummons_numberdei record con'GR'come valore divehicle_color.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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
___ != ___
);