select pps.id, (select max(mp.id) from pro_plan_schedule mp where mp.project_id = pps.project_id and mp.is_del=0) as max_id, pps.com_id, sd.dept_name as com_name, pps.project_id, pi.project_name, pps.plan_id, pps.task_id, pps.task_unique_id, pps.task_name, pps.bim_id, pps.schedule_percent, pp.task_duation, pp.plan_start_date, pp.plan_finish_date, pps.finish_date, pps.description, pps.images, pps.is_del, pps.create_by, pps.create_user_id, pps.create_date, pps.update_by, pps.update_date, pps.total_schedule from pro_plan_schedule pps left join pro_project_info pi on pi.id = pps.project_id left join sys_dept sd on sd.dept_id = pps.com_id left join pro_plan pp on pp.id = pps.plan_id insert into pro_plan_schedule com_id, project_id, plan_id, task_id, task_unique_id, task_name, bim_id, schedule_percent, finish_date, description, images, is_del, create_by, create_user_id, create_date, update_by, update_date, total_schedule, #{comId}, #{projectId}, #{planId}, #{taskId}, #{taskUniqueId}, #{taskName}, #{bimId}, #{schedulePercent}, #{finishDate}, #{description}, #{images}, #{isDel}, #{createBy}, #{createUserId}, #{createDate}, #{updateBy}, #{updateDate}, #{totalSchedule}, update pro_plan_schedule com_id = #{comId}, project_id = #{projectId}, plan_id = #{planId}, task_id = #{taskId}, task_unique_id = #{taskUniqueId}, task_name = #{taskName}, bim_id = #{bimId}, schedule_percent = #{schedulePercent}, finish_date = #{finishDate}, description = #{description}, images = #{images}, is_del = #{isDel}, create_by = #{createBy}, create_user_id = #{createUserId}, create_date = #{createDate}, update_by = #{updateBy}, update_date = #{updateDate}, total_schedule = #{totalSchedule}, where id = #{id} update pro_plan_schedule set is_del = 2 where id = #{id} update pro_plan_schedule set is_del = 2 where id in #{id} update pro_plan_schedule as a join ( select max(id) as max_id from pro_plan_schedule where project_id = #{proId} and is_del = '0' ) as b on a.id = b.max_id set a.total_schedule = #{totalSchedule}