SQL 语句关联函数查询进销存多次入库剩余数量统计
2017-08-24 17:37
555 查看
SQL 语句关联函数查询进销存多次入库剩余数量统计,一个采购订单可以多次入库,每次入库时需统计之前该采购订单的每个物品已经入库了多少数量,还剩余多少数量需要入库,录入入库数量时需进行校验,不能大于剩余入库数量,
无批次
SELECT t.material_number, t.count, ISNULL(d.sumincount,0) AS sumincount, (t.count- ISNULL(d.sumincount,0)) AS diffCount
FROM t_store_apply_detail t
LEFT JOIN (
SELECT sid.material_number, SUM(sid.count) AS sumincount
FROM t_store_stockin_detail sid
LEFT JOIN t_store_stockin si ON sid.main_id = si.fID
WHERE si.store_apply_number='a_20170824_1'
GROUP BY sid.material_number) d ON t.material_number = d.material_number
WHERE t.store_apply_number = 'a_20170824_1'
-- and (t.count-isnull(d.sumincount,0)) > 0
ORDER BY t.apply_item_number ASC
带库存批次查询
SELECT t.material_number, t.count, ISNULL(d.sumincount,0) AS sumincount, (t.count- ISNULL(d.sumincount,0)) AS diffCount
FROM t_store_apply_detail t
LEFT JOIN t_store_apply_material m ON m.fID = t.main_id
LEFT JOIN (
SELECT sid.material_number, SUM(sid.count) AS sumincount,sid.batch_number
FROM t_central_stockout_detail sid
LEFT JOIN t_central_stockout si ON sid.main_id = si.fID
WHERE si.store_apply_number='a_20170823_2'
GROUP BY sid.material_number,sid.batch_number) d ON t.material_number = d.material_number AND t.batch_number = d.batch_number
WHERE m.apply_number = 'a_20170823_2'
-- AND (t.count- ISNULL(d.sumincount,0)) > 0
ORDER BY t.apply_item_number ASC
用到的SQL函数有 ISNULL、SUM、GROUP BY 、 FULL JOIN
仓库物品批次与无批次汇总数量核实校验查询
SELECT *
FROM (
SELECT n.material_number AS mn, n.stock_count
FROM t_warehouse_material_nobatch n
WHERE n.warehouse_number='wh_nj_10001' AND n.material_number IN (
SELECT d.material_number
FROM t_store_stock_take_detail d
WHERE d.stock_take_number='st_20170731_9' AND d.diff_count!=0
)
) a FULL JOIN (
SELECT b.material_number AS mn, SUM(b.count) AS ct
FROM t_warehouse_material b
WHERE b.warehouse_number='wh_nj_10001' AND b.material_number IN (
SELECT d.material_number
FROM t_store_stock_take_detail d
WHERE d.stock_take_number='st_20170731_9' AND d.diff_count!=0
)
GROUP BY b.material_number) c ON a.mn=c.mn
ORDER BY c.mn ASC
无批次
SELECT t.material_number, t.count, ISNULL(d.sumincount,0) AS sumincount, (t.count- ISNULL(d.sumincount,0)) AS diffCount
FROM t_store_apply_detail t
LEFT JOIN (
SELECT sid.material_number, SUM(sid.count) AS sumincount
FROM t_store_stockin_detail sid
LEFT JOIN t_store_stockin si ON sid.main_id = si.fID
WHERE si.store_apply_number='a_20170824_1'
GROUP BY sid.material_number) d ON t.material_number = d.material_number
WHERE t.store_apply_number = 'a_20170824_1'
-- and (t.count-isnull(d.sumincount,0)) > 0
ORDER BY t.apply_item_number ASC
带库存批次查询
SELECT t.material_number, t.count, ISNULL(d.sumincount,0) AS sumincount, (t.count- ISNULL(d.sumincount,0)) AS diffCount
FROM t_store_apply_detail t
LEFT JOIN t_store_apply_material m ON m.fID = t.main_id
LEFT JOIN (
SELECT sid.material_number, SUM(sid.count) AS sumincount,sid.batch_number
FROM t_central_stockout_detail sid
LEFT JOIN t_central_stockout si ON sid.main_id = si.fID
WHERE si.store_apply_number='a_20170823_2'
GROUP BY sid.material_number,sid.batch_number) d ON t.material_number = d.material_number AND t.batch_number = d.batch_number
WHERE m.apply_number = 'a_20170823_2'
-- AND (t.count- ISNULL(d.sumincount,0)) > 0
ORDER BY t.apply_item_number ASC
用到的SQL函数有 ISNULL、SUM、GROUP BY 、 FULL JOIN
仓库物品批次与无批次汇总数量核实校验查询
SELECT *
FROM (
SELECT n.material_number AS mn, n.stock_count
FROM t_warehouse_material_nobatch n
WHERE n.warehouse_number='wh_nj_10001' AND n.material_number IN (
SELECT d.material_number
FROM t_store_stock_take_detail d
WHERE d.stock_take_number='st_20170731_9' AND d.diff_count!=0
)
) a FULL JOIN (
SELECT b.material_number AS mn, SUM(b.count) AS ct
FROM t_warehouse_material b
WHERE b.warehouse_number='wh_nj_10001' AND b.material_number IN (
SELECT d.material_number
FROM t_store_stock_take_detail d
WHERE d.stock_take_number='st_20170731_9' AND d.diff_count!=0
)
GROUP BY b.material_number) c ON a.mn=c.mn
ORDER BY c.mn ASC
相关文章推荐
- sql语句:查询分组统计并计算每组数量
- SQL中统计数据的查询语句写法
- Sql 语句 查询 某一列 不重复值 和不重复值数量
- 分类数量统计SQL语句
- Oracle性能-查询统计信息的SQL语句
- 查询统计一个班级表中男生女生各自的数量的sql
- 关于数据库统计查询的sql语句
- Oracle监控之Top sql语句查询及各种监控语句统计
- 本人开发系统--新生报到与数据统计管理系统--数据库设计及相关查询SQL语句笔记
- SQL统计数量,查询多列问题解决,(因为该列没有包含在聚合函数或 GROUP BY 子句中。)
- sql 查询包含字符的数量统计
- [置顶] 数据库统计不同字段数量时的sql语句
- sql查询技巧,按时间分段进行分组,每半小时一组统计组内记录数量
- Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计
- 统计:后台通过查询数据表(该表存放统计的sql语句)返回规定格式的json数据
- sql查询中自动统计某项数量
- sql语句查询得到的SqlDataSource填充gridview的行数统计
- MySQL查询某个字段为某值的次数统计SQL语句
- sql语句统计查询
- 统计查询两列相同的sql语句