AMS_BT_UNIT_BATCH_PLAN  表中去除一批数据,该表中没有顺序,去AMS_MM_PROCESSES 表中可以拿到顺序,知道AMS_BT_UNIT_BATCH_PLAN  的一个ID,根据AMS_MM_PROCESSES 表中的顺序,获取下一个,下边的查了两边,有没有办法优化SELECT PUNIT_PLAN_ID INTO nextPunitPlanID FROM AMS_BT_UNIT_BATCH_PLAN bt
LEFT JOIN AMS_MM_UNIT unit ON bt.PUNIT_ID = unit.PUNIT_ID
LEFT JOIN AMS_MM_PROCESSES proce ON unit.PROCESSESID = proce.PROCESSESID
WHERE MODULAR_BATCH_PLAN_ID = modularPlanID
AND proce.UER_DEFINED1 = 
(SELECT proce.UER_DEFINED1+1 FROM AMS_BT_UNIT_BATCH_PLAN bt
LEFT JOIN AMS_MM_UNIT unit ON bt.PUNIT_ID = unit.PUNIT_ID
LEFT JOIN AMS_MM_PROCESSES proce ON unit.PROCESSESID = proce.PROCESSESID
WHERE PUNIT_PLAN_ID = punitPlanID);