Åtgärda duplicering med en JOIN
I föregående övning skapade du en fråga som innehöll duplicering. Den här övningen tar bort den. Ett sätt att eliminera duplicering är att ändra JOIN-logiken genom att lägga till ytterligare ett fält i ON-satsen.
Den slutliga frågan från förra övningen visas i konsolen. Din uppgift är att åtgärda dupliceringen genom att uppdatera ON-satsen. Observera att det totala värdet för gold_medals ska vara 47.
Referera gärna till E:R-diagrammet.
Den här övningen är en del av kursen
Rapportering i SQL
Övningsinstruktioner
- Uppdatera
ON-satsen i underfrågan genom att lägga till ett andra fält attJOIN:a på. - Om ett fel uppstår relaterat till det nya
JOIN-fältet, använd enCAST()-sats för att åtgärda det.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
SELECT SUM(gold_medals) AS gold_medals
FROM
(SELECT
w.country_id,
SUM(gold) AS gold_medals,
AVG(gdp) AS avg_gdp
FROM winter_games AS w
JOIN country_stats AS c
-- Update the subquery to join on a second field
ON c.country_id = w.country_id ____
GROUP BY w.country_id) AS subquery;