用access做个库存,SQL 联合查询,入库减出库得到库存不对,请教!
SELECT入库明细.物件编号,入库明细.入库数量,出库明细.出库数量,(Sum(入库明细.入库数量)-Sum(出库明细.出库数量))AS库存FROM出库明细INNERJ...
SELECT 入库明细.物件编号, 入库明细.入库数量, 出库明细.出库数量, (Sum(入库明细.入库数量)-Sum(出库明细.出库数量)) AS 库存 FROM 出库明细 INNER JOIN 入库明细 ON 入库明细.物件编号=出库明细.物件编号 GROUP BY 入库明细.物件编号, 入库明细.入库数量, 出库明细.出库数量; 得到的库存1003万用表和1005没有,我要把他们也显示出来,问题在哪
你好,这个问题我想问下最后是怎么解决的可以吗 展开
你好,这个问题我想问下最后是怎么解决的可以吗 展开
展开全部
1.明显有问题啊~~~原有库存数据你没有考虑啊~~~除非做入库的时候是0库存,不然你的要考虑在入库之前的初始库存数据啊~
2.内链接的问题,如果不考虑初始库存,那入库与出库的内链接会过滤掉一部分有入库但是没有出库的数据,在你查找的项目里面是没有这部分数据的。
我没理解你说的修改库存编号的问题,入库的时候如果库存里面已经有这个编码,那就修改入库单中物资的编码还是修改库存数据中已经有的这个编码?我觉得你这个计算方式本身就是错的。而且如果物资管理系统在使用的话,物资的编码最好不要轻易修改,容易造成很大的管理问题。
我还是建议你考虑初始盘点库存,用多个表联查来解决这个问题,不要通过链接,
因为不管左链接还是右链接,他们都是以一张表做基础来进行合并。比如a表中有字段:1,2,3
B表中的字段:1,3,4;如果用左链接,那合并后结果:1,2,3 ;b表中的4列就没法显示,右链接的话同理的。
用入库表,出库表,库存表
现库存=入库表数量+库存表数量-出库表数量,这样计算出的应该要准确的多。
2.内链接的问题,如果不考虑初始库存,那入库与出库的内链接会过滤掉一部分有入库但是没有出库的数据,在你查找的项目里面是没有这部分数据的。
我没理解你说的修改库存编号的问题,入库的时候如果库存里面已经有这个编码,那就修改入库单中物资的编码还是修改库存数据中已经有的这个编码?我觉得你这个计算方式本身就是错的。而且如果物资管理系统在使用的话,物资的编码最好不要轻易修改,容易造成很大的管理问题。
我还是建议你考虑初始盘点库存,用多个表联查来解决这个问题,不要通过链接,
因为不管左链接还是右链接,他们都是以一张表做基础来进行合并。比如a表中有字段:1,2,3
B表中的字段:1,3,4;如果用左链接,那合并后结果:1,2,3 ;b表中的4列就没法显示,右链接的话同理的。
用入库表,出库表,库存表
现库存=入库表数量+库存表数量-出库表数量,这样计算出的应该要准确的多。
展开全部
SELECT 入库明细.物件编号, 入库明细.入库数量,
isnull(出库明细.出库数量,0) as 出库数量,
(Sum(入库明细.入库数量)-Sum(isnull(出库明细.出库数量,0))) AS 库存
FROM 出库明细
right JOIN 入库明细
ON 入库明细.物件编号=出库明细.物件编号
GROUP BY 入库明细.物件编号, 入库明细.入库数量, 出库明细.出库数量
;
用left join 试试,isnull(出库明细.出库数量,0)解决 出库空数据null值加减运算问题
写错了,是 right JOIN
再不成Q我,共同研究。三药四九妖妖巴巴
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用right join ,因为所有的物件都有入库记录,不一定都有出库记录
因为你的入库表放在后面,所以用右外连接
因为你的入库表放在后面,所以用右外连接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询