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

追问

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

本回答被提问者采纳

SQL2张表相同列,数据相减
D列相减 select x.D from A x,B y where x.A||'-'||x.B||'-'||x.c=y.A||'-'||y.B||'-'||y.c - select y.D from A x,B y where x.A||'-'||x.B||'-'||x.c=y.A||'-'||y.B||'-'||y.c;第二种 select x.*,(-y.d) from A x,B y where x....

在SQL中 两个表的数据怎么相减
一个关系减一个关系可以用谓词NOT IN或条件 <> ANY进行关系操作运算。两个关系中的数据相减可以连接后(相所要求的条件,比如是同一个人的工资和扣的养老金之类,连接条件就是同一个人的标识,可能是身份证号,职工号什么的)相减,这没有什么啊,两表连接后进行数据操作就可以了!句中一般和一个...

sql查两个表相减的结果
select T, sum(s)from (select 种类T as T, 库存总量S as s from AA UNION ALL select 种类T as T, 出库数量S*(-1) as s FROM BB) tabT group by T

sql 两表相减语句
from table1 as a ,(select no, sum(amt) as amt from table2 group by no ) as b where a.no = b.no

sql怎么实现两个表想减
你可以用SQL创建二个结果集你可以先查询出来全部的数据然后Convert取整数,在嵌套查询出来不能匹配的数据然后数据集记录相减

怎样用sql语句让两个表相减
现在的人怎么连问题都懒得描述清啊:(你是做算术减法、还是集合减(去除另一表有的记录)?1、前者用运算符号【-】,但要记录匹配;2、后者用NOT IN 来判定:DELETE FROM TableA WHERE ID NOT IN (SELECT Id FROM TableB )

sql 两表相减
应该先聚合,再连接相减。select SupplierID, ShouldPay - RealPay - ThisPay from (select SupplierID, sum(ShouldPay) as ShouldPay, SUM(RealPay) as RealPay from T_InsertStorage group by SupplierID) as A left join (select SupplierID, SUM(ThisPay) as ThisPay from T_RPManagement ...

pl\/sql developer 中,两表相减,保存结果
建议写一个触发器:当销量表插入一条的时候,去库存表减去刚才型号的商品数量。或者两表连接相减:select A.* from kucun A join (SELECT "MODEL","SPEC","COLOR",SUM(FIVE) s1,sum(SIX) s2,sum(SEVEN) s3,sum(EIGHT) s4,sum(NINE) s5,sum(TEN) s6 FROM sale group by MODEL,SPEC,...

MYSQL怎么实现两个表的字段值相减 求这样的SQL语句
update A set Anumcol=(Anumcol-(select Bnumcol from B where B.id=A.id));

求sql语句。得出表中两列相减的值
2、计算列:可以使用同一表中的其他列的表达式计算得来。表达式可以是非计算列的列名、常量、函数,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式不能为子查询。语句中的A-B就是计算列,as C的意思是给这个计算列起个列名叫C。只要符合上述规则,你可以任意组合字段、运算符等,形成...

相似回答