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