如图, 有一张单据A, 单据A下拆分1 2 3号小单进行加工, 需求数为各个小单的材料需求数. A单据领料3500. 要把3500按小单的需求数各自分配下去, 直到把3500全部分配完.
SQLSEVER语句应该怎么写? 求思路, 求代码, 感谢!
黄色区域是已经用sql提取出来的数据样式
select a.整单,a.单号,a.需求数
,case when a.总分配数<b.领料数 then a.需求数
when a.总分配数>b.领料数 and a.总分配数-a.需求数<b.领料数 then b.领料数-(a.总分配数-a.需求数)
else 0 end as 分配数
from (
select 整单,单号,需求数
,sum(需求数) over (partition by 整单 order by 单号) as 总分配数
from t1
) a
left join (
select 整单,领料数
from t2
) b
on a.整单=b.整单
你先写一下你SQL语句怎么出的这些数据