SQL两张表的数据相减

做仓库管理,只有表明相同时,仓库管理表中的库存数量要减去出库的库存数量,并将结果赋值到原仓库管理的数量字段上,比如库存表(GenWareMange)中数量字段为num,出库表(GenSendGift_Son)数量字段为OutNum,请问该如何实现啊?
这两张表是不关联的,在线等~~~急求答案~~~thks~~~

第1个回答  2014-04-23
1)写个触发器,每当出库表新增一条记录,也就是说没词出库时,自动触发修改库存表以及原仓库管理表的动作。
2)或者直接在业务系统处理业务的时候将所有操作分多个步骤放在一起事务里执行。
第2个回答  2014-04-23
出库的数据不是基于库存量来的么,为何会没有关联?
第3个回答  2014-04-23
两个表没有关联,你怎么知道是哪个库存数量减哪个出库数量
你把两个表里面的字段列出来我看一下,肯定有关联的追问

就是选择两张表中有个字段为物品名称,根据相同的物品名称来运算where 仓库管理.物品名称 = 出库管理.物品名称

仓库管理表:第一个就是物品名称,第二个是物品数量

出库表:第一个为物品名称,第二个为物品数量

追答

这两个表的关联就是物品名称相同
update GenWareMange

set CategoryNum=a.CategoryNum-b.CategoryNum from GenWareMange a,GenSendGift_Son b

where a.GiftName=CategoryName
这个是直接把库存表里面的数量改成原数量-出库数量
如果是查询每个物品当前数量
select a.GiftName ,(a.CategoryNum-b.CategoryNum ) as CategoryNum from
GenWareMange a,GenSendGift_Son b
where a.GiftName=CategoryName

追问

原来这么简单,我想复杂了~~~非常感谢啊。。。

本回答被提问者采纳