EXISTS (
SELECT 1
FROM tcm_live_reserve rr
WHERE rr.session_id = w.session_id
AND rr.app_user_id = w.app_user_id
AND rr.is_cancel = 0
AND rr.reserve_time w.watch_start
)
w.id,
w.live_course_id AS courseId,
w.session_id AS sessionId,
w.app_user_id AS userId,
u.nickname AS userNickname,
u.phone AS userPhone,
u.avatar AS userAvatar,
cl.name AS clinicName,
CASE
WHEN cl.province_name IS NOT NULL AND cl.province_name != '' THEN
CONCAT(
cl.province_name,
IFNULL(cl.city_name, ''),
IFNULL(cl.district_name, '')
)
ELSE NULL
END AS clinicArea,
c.title AS courseTitle,
NULL AS categoryName,
s.start_time AS startTime,
CASE WHEN THEN 1 ELSE 0 END AS hasReserve,
w.watch_start AS watchStart,
w.watch_end AS watchEnd,
w.duration_seconds AS durationSeconds,
w.is_completed AS isCompleted,
w.is_effective AS isEffective
FROM tcm_live_watch_record w
INNER JOIN tcm_live_course c ON c.id = w.live_course_id AND c.deleted = 0
INNER JOIN tcm_live_session s ON s.id = w.session_id AND s.deleted = 0
LEFT JOIN tcm_app_user u ON u.id = w.app_user_id AND u.deleted = 0
LEFT JOIN tcm_clinic cl ON cl.id = u.clinic_id AND cl.deleted = 0
WHERE 1 = 1
AND w.live_course_id = #{courseId}
AND w.session_id = #{sessionId}
AND (
cl.province_code = #{regionCode}
OR cl.city_code = #{regionCode}
OR cl.district_code = #{regionCode}
)
AND cl.name LIKE CONCAT('%', #{clinicName}, '%')
AND u.phone LIKE CONCAT('%', #{phone}, '%')
AND c.title LIKE CONCAT('%', #{courseName}, '%')
AND
AND NOT
AND w.is_completed = #{isCompleted}
AND w.is_effective = #{isEffective}
AND w.watch_start =]]> #{watchFrom}
AND w.watch_start #{watchTo}