使用Excel表格辅助分析,为复杂问题编写SQL

对于复杂的业务逻辑,我们可以采用画流程图的方式将整个流程可视化,从而更好地理解和把握,以高效高质地完成编码任务。同样地,对于复杂的查询操作,我们可以先通过表格推演的方式进行思考和分析,帮助我们更好地理清思路,以便更好地设计和编写查询SQL。

下面我们通过实际案例来介绍这个分析过程。

假设我们有一个库存表,其中包含商品id、批号、库存数量等信息。一个需剔除库存表,包含商品id、剔除数量等信息。我们需要逐个批次剔除相应数量的库存。示例数据如下:

库存表
| 商品id | 批号 | 库存数量 |
| g0001 | 01 | 1000 |
| g0001 | 02 | 500 |
| g0001 | 03 | 500 |
| g0002 | 04 | 1000 |

需剔除库存表
| 商品id | 剔除数量 |
| g0001 | 1200 |
| g0002 | 200 |

剔除结果
| 商品id | 批号 | 库存数量 |
| g0001 | 01 | 0 |
| g0001 | 02 | 300 |
| g0001 | 03 | 500 |
| g0002 | 04 | 800 |

为实现剔除库存,可以通过应用程序,也可以通过存储过程。但本案例我们希望通过一个查询来实现,分析过程如下:

先将样例数据录入Excel,为方便分析剔除,将每个商品需剔除库存数据列在后面,同一商品同一剔除数量。这个数据使用左连接可以轻松得到,如下图所示:

9ebc667e3b754ae99b065e1a5bd8593e.png

然后我们希望得到每个商品按批次累计求和的结果,以清楚掌握各批次剔除库存情况:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创意程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值