SELECT
  plan.*
  ,(select times.servicetimestart from t_b_maintain_plan_times times where times.maintainplanid=plan.id order by times.servicetimestart limit 1) as firstTimeStart
FROM
  t_b_maintain_plan plan
where
plan.bpm_status='3'
and plan.contract_id is null
and exists(select 1 from t_b_maintain_plan_times times where times.maintainplanid=plan.id and times.servicetimestart<=:findDate)