根据表
cz_course
的course_type字段1、2、3类别展示出不通表的分数。
SELECT
ccs.id,
ccs.student_id,
ccs.`name`,
ccs.class_name,
(
CASE
WHEN cce.course_type = 1 THEN
czso.end_score
WHEN cce.course_type = 2 THEN
czst.end_score
WHEN cce.course_type = 3 THEN
czsm.end_score
ELSE
'0'
END
) AS end_score,
(
CASE
WHEN cce.course_type = 1 THEN
czso.end_level
WHEN cce.course_type = 2 THEN
czst.end_level
WHEN cce.course_type = 3 THEN
czsm.end_level
ELSE
'0'
END
) AS end_level
FROM
cz_course_task_content_student ccs
LEFT JOIN cz_course_task_content ctc ON ctc.id = ccs.task_content_id
LEFT JOIN cz_course cce ON cce.id = ctc.course_id
LEFT JOIN cz_classroom_score_one czso ON czso.student_id = ccs.student_id
AND czso.task_content_id = ccs.task_content_id
AND cce.course_type = 1
LEFT JOIN cz_classroom_score_multiple czst ON czst.student_id = ccs.student_id
AND czst.task_content_id = ccs.task_content_id
AND cce.course_type = 2
LEFT JOIN cz_classroom_together_score czsm ON czsm.student_id = ccs.student_id
AND czsm.task_content_id = ccs.task_content_id
AND cce.course_type = 3