access 两个表数据相减

来源:百度知道 编辑:UC知道 时间:2024/05/25 01:52:09
表一“库存”表字段是 条码,商品名,数量
表二“售出”表字段是 条码,商品名,数量
如何实现表一“库存”表减去表二“售出”表
我补充一下,我是要更新库存的数据,也就是表一减去表二的数据,不是要查询的数据。

确认你的 “条码”字段是唯一的。
并且 之前对 【售出】表做了分组求和。

1、left join
原理:以库存为主表 做左连接,全部对应出后。售出.条码 是空的即主表库存 有的数据,售出 没有的数据 就是现在的库存。

select 库存.条码,库存.商品名,库存.数量,售出.条码
from 库存 left join 售出 on (库存.条码=售出.条码) and (库存.商品名=售出.商品名)
where 售出.条码 is null

2、not in
select 库存.条码,库存.商品名,库存.数量
from 库存
where 库存.条码 not in (select 条码 from 售出)

3、这个更实用些。上面两个是 售出数量和库存的数量正好一致的情况。
这个种肯能不大。

select 售出.条码,售出.商品名,库存.数量 - 售出.数量 as 现存
from 库存 left join 售出 on (库存.条码=售出.条码) and (库存.商品名=售出.商品名)
where (库存.数量 - 售出.数量)>0

直接修改原表。安全性不好。