我试图从连接多个表中检索已完成和未完成所有课程记录的用户,但它返回重复的课程 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。它没有避免重复。