Foxtable(狐表)用户栏目专家坐堂 → 库存计算,求帮助


  共有3566人关注过本帖树形打印复制链接

主题:库存计算,求帮助

帅哥哟,离线,有人找我吗?
q1156741089
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:165 积分:1698 威望:0 精华:0 注册:2017/3/30 15:55:00
库存计算,求帮助  发帖心情 Post By:2018/3/21 10:37:00 [只看该作者]

以下内容为程序代码:

1 """upd ate c set c.库存数量 = a.累计入库-b.累计出库 f rom (Se lect 物资名称, sum(数量) As 累计入库 f rom 物资明细 whe re 明细分类 = '入库' group by 物资名称) a, (Se lect 物资名称, sum(数量) As 累计出库 f rom 物资明细 wh ere 明细分类 = '出库' group by 物资名称) b,库存物资 c where a.物资名称=c.物资名称 And " & _"b.物资名称=c.物资名称 """"
条语句有一个BUG,就是只入库的情况下 ,无法计算。求帮助 ,怎么解决?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/21 11:47:00 [只看该作者]

set c.库存数量 = a.累计入库-b.累计出库

 

改成

 

set c.库存数量 = isnull(a.累计入库, 0)-isnull(b.累计出库, 0)


 回到顶部
帅哥哟,离线,有人找我吗?
q1156741089
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:165 积分:1698 威望:0 精华:0 注册:2017/3/30 15:55:00
  发帖心情 Post By:2018/3/21 13:22:00 [只看该作者]

试了几次没有用呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/21 15:15:00 [只看该作者]

试试

 

update c set set c.库存数量 = isnull(a.累计入库, 0)-isnull(b.累计出库, 0) from (Select 物资名称, sum(数量) As 累计入库 from 物资明细 where 明细分类 = '入库' group by 物资名称) a, (Select 物资名称, sum(数量) As 累计出库 from 物资明细 where 明细分类 = '出库' group by 物资名称) b,库存物资 c where (a.物资名称=c.物资名称 or a.物资名称 is null) And (b.物资名称=c.物资名称 or b.物质名称 is null)


 回到顶部
帅哥哟,离线,有人找我吗?
q1156741089
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:165 积分:1698 威望:0 精华:0 注册:2017/3/30 15:55:00
  发帖心情 Post By:2018/3/21 15:31:00 [只看该作者]

谢谢  行了  。。。 我刚刚试了一下 这种方法  “case when isnull(列名) then 0 end” 也没有弄出来

 回到顶部
帅哥哟,离线,有人找我吗?
q1156741089
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:165 积分:1698 威望:0 精华:0 注册:2017/3/30 15:55:00
  发帖心情 Post By:2018/3/21 15:43:00 [只看该作者]

原来是要在where 加个空值判断

 回到顶部