我有2个相同字段的库存表。条形码是唯一标识符。我想比较并显示表1到2中股票和价格的差异。我如何在访问中处理此问题?我尝试过使用这些标准是空的但无济于事。对不起,我还是数据库中的新人..
更具体。我在表1和表2中有条形码A1,表1中A1的价格是20,表2的价格是50.我想显示这种数据..因为看起来我们的库存不匹配。
答案 0 :(得分:1)
你会做这样的双向检查:
首先检查
select
a.barcode as referencebarcode,
a.price as referenceprice,
b.price,
a.price-b.price as difference
from table1 a
left join table2 b on a.barcode = b.barcode
order by b.price
这会给你价格差异,同时也会显示table1中存在的条形码,但不会显示在table2中
第二次检查
select
a.barcode as referencebarcode,
a.price as referenceprice,
b.price,
a.price-b.price as difference
from table2 a
left join table1 b on a.barcode = b.barcode
order by b.price
这恰恰相反 - 它显示价格差异并显示表2中存在但不在表1中的条形码。
使用首先检查作为示例显示有差异的记录
select
a.barcode as referencebarcode,
a.price as referenceprice,
b.price,
a.price-b.price as difference
from table1 a
left join table2 b on a.barcode = b.barcode
where (a.price-b.price) <> 0 OR a.price is null OR b.price is null
order by b.price
答案 1 :(得分:0)
一个简单的查询应该可以解决问题。您可以使用“访问查询”构建器或直接输入SQL:
SELECT table1.barcode, table1.price table2.price FROM table1
JOIN table2 ON table1.barcode=table2.barcode