mysql 用if判斷連哪個表,並使用一個字段展示值

根據表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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章