要求是这样的:
    用户输入保证金金额(n)和交易金金额(m)。用户可以通过令一文本框来直接减少交易金金额,但是不能直接减少保证金金额。保证金金额依据这样的规则减少的(假如交易金金额减少量证金金额减少量为n1):n1/n=m1/m;
本人写了一个算法如下:
select a.bzjje-(((select sum(c.jyje) from rzcflc c where c.fangkid=a.id and c.id='111111')/a.jyje )*a.bzjje) yue from bllc a where a.id='111111'。
这个算法存在一个问题:假如客户安时间顺序三次修改交易金金额的值的话不会出现错误,但当客户修改(或者更新)第一次交易金金额的话就会出现错误,第一次担保金余额与最后一次修改的担保金余额相等;按客户要求更改后的第一次担保金余额与第三次担保金余额是不应该相等的,第一次数据改变的话第二、第三次的担保金金额也应该相应改变。
请各位高手指点一下该如何写这样的算法,sql语句该如何写