2012-07-01 49 views
1

什么是在MS Access减查询正确的语法减查询在MSACCESS

我想比较2个查询的整个结果集不只是唯一的关键 列的比较

对于如:

招呼表中的数据:ID,姓名,地址

hello1表DAT a:new_id,new_name,new_address

我想知道哪些客户的所有列中的数据都已更改。

我给下面的查询。它失败

select h.* from hello h 
minus 
select h1.* from hello1 h1 

请让我知道正确的查询

+0

可能重复[如何在MS Access中实现SQL INTERSECT和MINUS操作](http://stackoverflow.com/questions/337158/how-can-i-implement-sql-intersect-and-minus-operations -in-ms-access) – hobodave

回答

2

一种可能性是不是在。在MS Access中没有这样的东西作为减号查询。

select h.* from hello h 
WHERE uniqueid NOT IN 
(select uniqueid from hello1 h1) 

对于一个纯粹的SQL解决方案,您需要,说:

SELECT t.* FROM Table t 
LEFT JOIN NewTable n 
ON t.ID = n.ID 
WHERE t.Field1 & "" <> n.Field1 & "" 
    OR t.Field2 & "" <> n.Field2 & "" 

但是,它是使用VBA更容易。

+0

我可能有动态键列。我在宏中使用它。我需要比较2个查询的结果,而不仅仅是关键ID – logan

+0

您的问题很含糊,因为它不包含任何示例数据或所需结果。在MS Access中没有减号查询,没有附加信息,不可能做更多的建议可能性。另一种可能性是左连接。 – Fionnuala

+0

我在我的问题描述中给出了一个例子。请看看它。谢谢 – logan