如何比较2个表以查看acess中

时间:2015-07-25 03:51:56

标签: mysql ms-access

我有2个相同字段的库存表。条形码是唯一标识符。我想比较并显示表1到2中股票和价格的差异。我如何在访问中处理此问题?我尝试过使用这些标准是空的但无济于事。对不起,我还是数据库中的新人..

更具体。我在表1和表2中有条形码A1,表1中A1的价格是20,表2的价格是50.我想显示这种数据..因为看起来我们的库存不匹配。

2 个答案:

答案 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