连接查询问题中的重复记录

问题描述 投票:0回答:0

我试图从连接多个表中检索已完成和未完成所有课程记录的用户,但它返回重复的课程 ID,甚至按课程 ID 分组使用。

SELECT a.course_id, c.first_name, c.last_name, c.email as email,
 b.module_name, d.last_attempt_date, d.scorm_status,
 (CASE WHEN d.scorm_status =  'incomplete' THEN 'Inprogress' WHEN d.scorm_status =  'Closed'
    THEN 'Completed'
    ELSE 'Not Started'
END) AS course_status FROM training_detail AS a JOIN user AS c ON c.role=a.role_id AND c.status='Active' 
JOIN course_master AS b ON b.module_id=a.course_id  LEFT JOIN course_participants AS d ON d.emp_id=c.id AND d.module_id=b.module_id 
WHERE b.deleted_status='Active'
AND b.flag='Yes'
AND MONTH(d.modified_date) <= '04'
AND YEAR(d.modified_date) <= '2023' AND d.emp_id=155
GROUP BY a.company_id,a.course_id,b.module_id
ORDER BY c.email

我该如何解决这个问题?

我尝试使用课程 ID 和不同的 GROUP BY。它没有避免重复。

mysql join left-join
© www.soinside.com 2019 - 2024. All rights reserved.