แก้ไขข้อมูลซ้ำด้วย JOIN
ในแบบฝึกหัดก่อนหน้า คุณได้สร้างคิวรีที่มีข้อมูลซ้ำกัน แบบฝึกหัดนี้จะช่วยกำจัดข้อมูลซ้ำดังกล่าว วิธีหนึ่งในการแก้ปัญหานี้คือการปรับเงื่อนไข JOIN โดยเพิ่มฟิลด์อื่นเข้าไปในคำสั่ง ON
คิวรีสุดท้ายจากแบบฝึกหัดที่แล้วแสดงอยู่ในคอนโซล งานของคุณคือแก้ไขข้อมูลซ้ำโดยอัปเดตคำสั่ง ON โปรดสังเกตว่าค่ารวม gold_medals ที่ถูกต้องควรเป็น 47
สามารถอ้างอิง แผนภาพ E:R ได้ตลอดเวลา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การรายงานผลด้วย SQL
คำแนะนำการฝึกหัด
- อัปเดตคำสั่ง
ONใน subquery โดยเพิ่มฟิลด์ที่สองสำหรับการJOIN - หากเกิดข้อผิดพลาดเกี่ยวกับฟิลด์
JOINใหม่ ให้ใช้คำสั่งCAST()เพื่อแก้ไข
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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;