Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS Access查询以比较2个表_Ms Access - Fatal编程技术网

Ms access MS Access查询以比较2个表

Ms access MS Access查询以比较2个表,ms-access,Ms Access,我试图在MS Acess中提出一个查询来比较两个表。我根据邮政编码、城市、州和国家四个字段进行比较。 我希望能够获得表1中所有与表2中不匹配的记录 这是我的样本数据。我希望查询输出中有2条记录,并用“*”标记 以下是我尝试过但没有成功的方法: SELECT DISTINCT table1.* FROM table1 LEFT JOIN table2 ON table1.POSTAL_CODE=table2.POSTAL_CODE WHERE ((table2.POSTAL_CODE Is Nul

我试图在MS Acess中提出一个查询来比较两个表。我根据邮政编码、城市、州和国家四个字段进行比较。 我希望能够获得表1中所有与表2中不匹配的记录

这是我的样本数据。我希望查询输出中有2条记录,并用“*”标记

以下是我尝试过但没有成功的方法:

SELECT DISTINCT table1.*
FROM table1 LEFT JOIN table2 ON table1.POSTAL_CODE=table2.POSTAL_CODE
WHERE ((table2.POSTAL_CODE Is Null));
我如何做到这一点?请告诉我任何建议


谢谢。

左连接的
表达式上的
应该包括所有4个您想要匹配的字段。我也省略了
的DISTINCT

SELECT
    t1.POSTAL_CODE,
    t1.CITY,
    t1.STATE_PROV,
    t1.COUNTRY_CODE
FROM
    table1 AS t1
    LEFT JOIN table2 AS t2
    ON
            t1.POSTAL_CODE = t2.POSTAL_CODE
        AND t1.CITY = t2.CITY
        AND t1.STATE_PROV = t2.STATE_PROV
        AND t1.COUNTRY_CODE = t2.COUNTRY_CODE
WHERE t2.POSTAL_CODE Is Null;
SELECT
    t1.POSTAL_CODE,
    t1.CITY,
    t1.STATE_PROV,
    t1.COUNTRY_CODE
FROM
    table1 AS t1
    LEFT JOIN table2 AS t2
    ON
            t1.POSTAL_CODE = t2.POSTAL_CODE
        AND t1.CITY = t2.CITY
        AND t1.STATE_PROV = t2.STATE_PROV
        AND t1.COUNTRY_CODE = t2.COUNTRY_CODE
WHERE t2.POSTAL_CODE Is Null;