假如有三条入的记录,如下:入单号 数量
A01 30
A02 40
A03 50出是按20个一条。结果如下:出单号 入单号 数量
B01 A01 20
B02 A01 10
B03 A02 10
B04 A02 20
B05 A02 10
B06 A03 10
B07 A03 20
B08 A03 20也就是说,先从A01开始出,如果A01剩余的不够了,就从A02出。类似先进先出的方式。请问,如何能够用一个SQL语句,或是拼SQL语句也可以,但不能用临时表,来生成结果。
A01 30
A02 40
A03 50出是按20个一条。结果如下:出单号 入单号 数量
B01 A01 20
B02 A01 10
B03 A02 10
B04 A02 20
B05 A02 10
B06 A03 10
B07 A03 20
B08 A03 20也就是说,先从A01开始出,如果A01剩余的不够了,就从A02出。类似先进先出的方式。请问,如何能够用一个SQL语句,或是拼SQL语句也可以,但不能用临时表,来生成结果。
如果需要 先将当前行的值拆分出来插入库 然后减去拆分的值
第二步 要将剩余的值 根据20来拆分 就容易多了