SELECT r.ID, r.code, r.NAME, r.begin_times, r.end_times, r.scheme_id, (SELECT name from rostering_scheme a where a.id=r.scheme_id) schemeName, r.shift_id, (SELECT name from rostering_shift d where d.id=r.shift_id) shiftName, r.duty_id, (SELECT name from rostering_duty d where d.id=r.duty_id) dutyName, r.depart_member_id, (SELECT s.dept_name FROM sys_dept s WHERE s.dept_id=r.depart_member_id) deptName, r.description FROM rostering r insert into rostering id, code, name, scheme_id, shift_id, duty_id, description, create_by, create_time, depart_member_id, begin_times, end_times, #{id}, #{code}, #{name}, #{schemeId}, #{shiftId}, #{dutyId}, #{description}, #{createBy}, #{createTime}, #{departMemberId}, #{beginTimes}, #{endTimes}, insert into rostering (id,code,name,scheme_id,shift_id,duty_id,description,create_by,create_time,depart_member_id,begin_times,end_times) values (#{dataItems.id},#{dataItems.code},#{dataItems.name},#{dataItems.schemeId},#{dataItems.shiftId},#{dataItems.dutyId},#{dataItems.description},#{dataItems.createBy},#{dataItems.createTime},#{dataItems.departMemberId},#{dataItems.beginTimes},#{dataItems.endTimes}); insert into rostering (id,code,name,scheme_id,shift_id,duty_id,description,create_by,create_time,depart_member_id,begin_times,end_times) values (#{dataItems.id},#{dataItems.code},#{dataItems.name},#{dataItems.schemeId},#{dataItems.shiftId},#{dataItems.dutyId},#{dataItems.description},#{dataItems.createBy},#{dataItems.createTime},#{dataItems.departMemberId},#{dataItems.beginTimes},#{dataItems.endTimes}) update rostering code = #{code}, name = #{name}, scheme_id = #{schemeId}, shift_id = #{shiftId}, duty_id = #{dutyId}, description = #{description}, depart_member_id = #{departMemberId}, update_by = #{updateBy}, update_time = #{updateTime}, begin_times = #{beginTimes}, end_times = #{endTimes}, where id = #{id} delete from rostering where id = #{id} delete from rostering where id in #{id}