Felsökning av CASE-satser
I föregående övning kanske du lade märke till flera null-värden i vår CASE-sats, vilket kan tyda på att det finns ett problem med koden.
I sådana fall är det värt att undersöka varför dessa null-värden dyker upp. I den här övningen går du igenom en serie steg för att identifiera problemet och göra de ändringar som behövs.
Den här övningen är en del av kursen
Rapportering i SQL
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- Query from last exercise shown below. Comment it out.
SELECT
sport,
CASE WHEN weight/height^2*100 <.25 THEN '<.25'
WHEN weight/height^2*100 <=.30 THEN '.25-.30'
WHEN weight/height^2*100 >.30 THEN '>.30' END AS bmi_bucket,
COUNT(DISTINCT athlete_id) AS athletes
FROM summer_games AS s
JOIN athletes AS a
ON s.athlete_id = a.id
GROUP BY sport, bmi_bucket
ORDER BY sport, athletes DESC;
-- Show height, weight, and bmi for all athletes
SELECT
____,
____,
____ AS bmi
FROM ____
-- Filter for NULL bmi values
WHERE ____;