overdue1,overdue2,overdue3,overdue4,overdue5 这5个变量获取语句大致相同 可以使用sum(case when)的形式一次性取出 select sum(case when 变量1取值时专有的条件 then bt01.AR_AMOUNT end) overdue1, ……--下面同理overdue1 from ……--那几个表 where 几个变量取值时相同的条件
months_between(sysdate, ACC_RECV_DATE) >= 24 这种可以改成moths_between 在右边。既然都是 group by bf01.scc_company_id, bf01.SETTLE_TYPE_NO 为什么不是一次sum出多有的单位,存到一个object中, 然后再用for语句遍历插入数据。
这5个变量获取语句大致相同
可以使用sum(case when)的形式一次性取出
select sum(case when 变量1取值时专有的条件 then bt01.AR_AMOUNT end) overdue1,
……--下面同理overdue1
from
……--那几个表
where 几个变量取值时相同的条件
然后再用for语句遍历插入数据。