Aan de slagGa gratis aan de slag

Kleurnamen standaardiseren

In de vorige oefening is de functie DIFFERENCE() gebruikt om kleuren te identificeren die sterk lijken op onze gewenste weergave van de kleur GRAY. Deze aanpak behield echter een aantal records waarbij de waarde vehicle_color mogelijk wel of niet grijs is. Met name heeft de string GR (groen) dezelfde Soundex-code als de string GRAY. Gelukkig kunnen records met deze vehicle_color-waarden worden uitgesloten van de set records die moeten worden aangepast.

In deze oefening ken je een consistente grijze vehicle_color-waarde toe door vergelijkbare strings te identificeren die dezelfde kleur voorstellen. Opnieuw is de module fuzzystrmatch al voor je geïnstalleerd.

Deze oefening maakt deel uit van de cursus

Data opschonen in PostgreSQL-databases

Cursus bekijken

Oefeninstructies

  • Maak de SET-clausule af om 'GRAY' toe te wijzen als de vehicle_color voor records met een vehicle_color-waarde waarvan de Soundex-code overeenkomt met de Soundex-code voor 'GRAY'.
  • Werk de WHERE-clausule van de subquery bij zodat de geretourneerde summons_number-waarden summons_number-waarden uit records met 'GR' als vehicle_color-waarde juist uitsluiten.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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
        ___ != ___
);
Code bewerken en uitvoeren