使用SQL在两个表中验证Access中的数据

时间:2014-02-24 20:37:19

标签: sql ms-access-2007 verify

我在Access中有两个表,一个基本上是带有个人信息的客户记录,另一个是充满有效值的表,例如州名缩写和性别。我正在尝试对这两个表进行比较,以便它检查性别和状态代码以反映参考表中的内容并拉出客户ID(第一个表中的另一个字段)并通过输入客户ID和值来报告问题我用来验证,在另一个表中。 乙 ut而不是只返回不匹配的值返回第一个表中的每个记录。因此,它不仅仅是复制和粘贴,而不是仅返回第二个表中没有匹配的值。

我的代码看起来像这样

DoCmd.RunSQL 
    "INSERT INTO Issues 
     SELECT Eligibility.ID, Eligibility.[Member Id], Eligibility.[Sex Code], Eligibility.State 
     FROM Eligibility 
     LEFT JOIN Ref ON
         (Eligibility.[Sex Code]<>Ref.[Sex Code]) AND (Eligibility.State<>Ref.State);"

1 个答案:

答案 0 :(得分:1)

您要做的是,实际上是更改JOIN子句以匹配Sex CodeState,但只返回不匹配的行。

INSERT INTO Issues 
 SELECT Eligibility.ID, Eligibility.[Member Id], Eligibility.[Sex Code], Eligibility.State 
 FROM Eligibility 
 LEFT JOIN Ref ON
     (Eligibility.[Sex Code]=Ref.[Sex Code]) AND (Eligibility.State=Ref.State)
 WHERE Ref.[Sex Code] IS NULL

WHERE Ref.[Sex Code] IS NULL将过滤掉有效行,并仅返回不符合JOIN条件的行。