数据递减,我想把空白的数据补上。就是第一行的投入减去报废,然后,第二行的投入量等于(第一行的投入减)

企业微信截图_16982228699640.png

SQL 数据分析菜鸡 发布于 2023-10-25 16:35 (编辑于 2023-10-25 16:36)
1min目标场景问卷 立即参与
回答问题
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-10-25 16:36(编辑于 2023-10-25 16:52)

来 看图“作文”的时间到了  囧

-------------

从有限的信息来模拟

with TEST as (

select 1 [rank],912 [投入],0 [报废]

union ALL

select 2 [rank],912 [投入],0 [报废]

union ALL

select 3 [rank],912 [投入],0 [报废]

union ALL

select 4 [rank],912 [投入],300 [报废]

union ALL

select 5 [rank],null [投入],null [报废]

union ALL

select 6 [rank],null [投入],null [报废]

union ALL

select 7 [rank],612 [投入],0 [报废]

union ALL

select 8 [rank],null [投入],0 [报废]

union ALL

select 9 [rank],null [投入],0 [报废]

union ALL

select 10 [rank],null [投入],0 [报废]

union ALL

select 11 [rank],null [投入],null [报废]

union ALL

select 12 [rank],612 [投入],0 [报废]

)

SELECT *,(case when 投入 is null then (select top 1 投入-报废 from TEST b where b.rank<a.rank and b.投入 is not null order by b.rank desc ) else 投入 end) [投入_] FROM TEST a

image.png

  • 1关注人数
  • 241浏览人数
  • 最后回答于:2023-10-25 16:52
    请选择关闭问题的原因
    确定 取消
    返回顶部