with t as
(
    select 
    t.uid,
    t.nick_name,
    t.achievement,
    t1.start_time,
    t2.submit_time
    from user_info t join exam_record t1 on t.uid = t1.uid
                     left join practice_record t2 on t2.uid = t1.uid
)
select 
uid,
nick_name,
achievement
from t
where achievement between 1200 and 2500 and nick_name like '牛客%号'
group by uid
having date_format(max(start_time),"%Y%m")=202109 or date_format(max(submit_time),"%Y%m")=202109