SQL语句怎么写能够把一个整数按单号分配下去

如图, 有一张单据A, 单据A下拆分1 2 3号小单进行加工, 需求数为各个小单的材料需求数. A单据领料3500. 要把3500按小单的需求数各自分配下去, 直到把3500全部分配完.

SQLSEVER语句应该怎么写? 求思路, 求代码, 感谢!

黄色区域是已经用sql提取出来的数据样式

1.png

柿柿 发布于 2021-11-19 09:58 (编辑于 2021-11-19 10:25)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
杨朝健Lv5中级互助
发布于2021-11-19 10:11(编辑于 2021-11-19 10:15)

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.整单

最佳回答
0
北纬六十六度Lv4初级互助
发布于2021-11-19 10:12

你先写一下你SQL语句怎么出的这些数据

  • 3关注人数
  • 414浏览人数
  • 最后回答于:2021-11-19 10:25
    请选择关闭问题的原因
    确定 取消
    返回顶部