我在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);"
答案 0 :(得分:1)
您要做的是,实际上是更改JOIN
子句以匹配Sex Code
和State
,但只返回不匹配的行。
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
条件的行。