Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

帮忙分析一下,为什么出库或入库,同一批号,同一数量,库存数不变?同一批号,不同数量,库存数会改变

秦一友  发表于:2018-01-16 20:48:58  
复制

点击下载此附件

 

Top
paciwater 发表于:2018-02-06 13:37:23

将UNION换成UNION ALL试试

另外,用以下查询来计算库存,是不是更好一些。

SELECT c.物料代码,c.名称,sum(c.数量) AS 库存 
FROM (SELECT b.出库批号 AS 批号, '出库' AS 类别, b.物料代码, b.名称, -b.出库数量 AS 数量 FROM 出库 b
UNION ALL
SELECT a.入库批号 AS 批号, '入库' AS 类别, a.物料代码, a.名称, a.入库数量 AS 数量 FROM 入库 a) c 
GROUP BY c.物料代码, c.名称;



西出阳关无故人 发表于:2018-02-07 12:27:35

我习惯现汇总再计算:

SELECT A.入库批号, Last(A.物料代码) AS 物料代码, A.名称, Sum([入库])-Sum([出库]) AS 库存

FROM (SELECT 入库.入库批号, 入库.物料代码, 入库.名称, sum(入库.入库数量) as 入库,0 AS 出库
FROM 入库 group by 入库.入库批号, 入库.物料代码, 入库.名称
UNION SELECT 出库.出库批号  , 出库.物料代码, 出库.名称,0 AS 入库, sum(出库.出库数量) as 出库
FROM 出库 group by 出库.出库批号  , 出库.物料代码, 出库.名称)  AS A
GROUP BY A.入库批号, A.名称
ORDER BY Last(A.物料代码)


总记录:2篇  页次:1/1 9 1 :