--期初数据
DECLARE @stock TABLE(id int,num decimal(10,2))
INSERT @stock SELECT 1,100
UNION ALL SELECT 3,500
UNION ALL SELECT 4,800
--入库数据
DECLARE @in TABLE(id int,num decimal(10,2))
INSERT @in SELECT 1,100
UNION ALL SELECT 1,80
UNION ALL SELECT 2,800
--出库数据
DECLARE @out TABLE(id int,num decimal(10,2))
INSERT @out SELECT 2,100
UNION ALL SELECT 3,100
UNION ALL SELECT 3,200
--统计
SELECT id,
stock_opening=SUM(stock_opening),
stock_in=SUM(stock_in),
stock_out=SUM(stock_out),
stock_closing=SUM(stock_closing)
FROM(
SELECT id,stock_opening=num,stock_in=0,stock_out=0,stock_closing=num
FROM @stock
UNION ALL
SELECT id,stock_opening=0,stock_in=num,stock_out=0,stock_closing=num
FROM @in
UNION ALL
SELECT id,stock_opening=0,stock_in=0,stock_out=num,stock_closing=-num
FROM @out
)a GROUP BY id
/*--结果
id stock_opening stock_in stock_out stock_closing
---------------- ----------------------- ----------------- -------------------- --------------------
1 100.00 180.00 .00 280.00
2 .00 800.00 100.00 700.00
3 500.00 .00 300.00 200.00
4 800.00 .00 .00 800.00
--*/
使用UNION做进销存报表
最新推荐文章于 2025-09-12 00:00:00 发布
本文介绍了一个使用SQL实现的简单库存管理系统,通过定义期初库存、入库和出库操作,并最终统计库存余额来展示如何管理和更新库存数据。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
PyTorch 2.6
PyTorch
Cuda
PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理
5562

被折叠的 条评论
为什么被折叠?



