求一个sql算法计算得出b表里的结果;
我就是要计算b表里面的结果(图上是把最终结效果展显出来方便大家理解);
比如b表里的第一笔结果的计算方式:b表数量是3,而a表里是8,说明满足;那结果就是用a表ID1,+b表里的数量3;得出1,3;说明从a表id1取了3个;
那a表里还有8-3=还剩下5可以分配;
再算b表第二笔,b表数量是8,a表第一笔还剩5;不满足,把a表ID1,+a表里的剩下数量5;还差3个数量,用a表第二笔11计算。
得出1,5;2,3; 说明这8个数量是从a表id1取了5个,从id2取了3个
自己写了一个存储,用了双游标解决了。
以次类推,求如何算出b表里的结果