我试图在MS Acess中提出一个查询来比较两个表。我将我的比较基于4个字段postal_code,city,state和country。 我希望能够获得table1中table2中没有匹配项的所有记录。
这是我的示例数据。我期待查询输出中有2条记录,我标有“*”
table1
======
POSTAL_CODE CITY STATE_PROV COUNTRY_CODE
*12345 Union NJ US
45678 Hillside NJ US
*45678 Union NJ US
table2
======
POSTAL_CODE CITY STATE_PROV COUNTRY_CODE
45678 Hillside NJ US
这是我尝试过的,但没有做到这一点:
SELECT DISTINCT table1.*
FROM table1 LEFT JOIN table2 ON table1.POSTAL_CODE=table2.POSTAL_CODE
WHERE ((table2.POSTAL_CODE Is Null));
我如何做到这一点?请让我知道任何建议。
谢谢。
答案 0 :(得分:1)
ON
的{{1}}表达式应包含您要匹配的所有4个字段。我也遗漏了LEFT JOIN
。
DISTINCT