26 lines
690 B
SQL
26 lines
690 B
SQL
create function getRemainInterest(p_payment_number varchar(40), p_plan_list int, remain_type varchar(40)) returns decimal(18,2)
|
|
RETURN
|
|
(
|
|
select
|
|
case when remain_type='interest'
|
|
then
|
|
scrm.si-listcrm.si
|
|
when remain_type='fee' then
|
|
scrm.sf-listcrm.sf
|
|
when
|
|
remain_type='discount'
|
|
then scrm.sd-listcrm.sd
|
|
else 0 end
|
|
from
|
|
(SELECT contract_id,
|
|
SUM(interest) si,SUM(fee) sf, SUM(discount) sd
|
|
FROM contract_rent_month
|
|
where payment_number = p_payment_number
|
|
)
|
|
scrm
|
|
LEFT JOIN (SELECT contract_id,
|
|
SUM(interest) si,SUM(fee) sf, SUM(discount) sd
|
|
FROM contract_rent_month WHERE payment_number = p_payment_number and rent_list<=p_plan_list )
|
|
listcrm ON listcrm.contract_id=scrm.contract_id);
|
|
|