Khắc phục trùng lặp bằng JOIN
Trong bài tập trước, bạn đã tạo một truy vấn có chứa dữ liệu trùng lặp. Bài này sẽ loại bỏ phần trùng lặp đó. Một cách tiếp cận là thay đổi logic JOIN bằng cách thêm một trường khác vào mệnh đề ON.
Truy vấn cuối cùng từ bài trước đang hiển thị trong bảng điều khiển. Nhiệm vụ của bạn là sửa lỗi trùng lặp bằng cách cập nhật mệnh đề ON. Lưu ý rằng tổng gold_medals phải là 47.
Bạn có thể tham khảo Sơ đồ E:R.
Bài tập này là một phần của khóa học
Lập báo cáo trong SQL
Hướng dẫn bài tập
- Cập nhật mệnh đề
ONtrong truy vấn con bằng cách thêm trường thứ hai đểJOIN. - Nếu phát sinh lỗi liên quan đến trường
JOINmới, hãy dùng câu lệnhCAST()để khắc phục.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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;