一尘不染

插入不存在的SQL访问权限

sql

我正在尝试使用sql将另一个表中的记录插入Access中的表中。我已经粘贴了下面的声明。我想插入ImportMetricsIDs01262015中存在的记录,但不应该插入ShouldImportMetricsIDs中的记录。它运行完美,没有任何错误,但是即使我实际添加新记录也不会插入任何内容。

INSERT INTO ShouldImportMetricsIDsTable ( [Formulary ID], [Market Segment] )
SELECT ImportMetricsIDs01262015.[Formulary ID], ImportMetricsIDs01262015.[Market Segment]
FROM ImportMetricsIDs01262015
WHERE NOT EXISTS (SELECT *
FROM ShouldImportMetricsIDsTable);

阅读 129

收藏
2021-03-17

共1个答案

一尘不染

您需要一个关联子句。子查询仅检查表是否为空。就像是:

INSERT INTO ShouldImportMetricsIDsTable( [Formulary ID], [Market Segment] )
    SELECT im.[Formulary ID], im.[Market Segment]
    FROM ImportMetricsIDs01262015 as im
    WHERE NOT EXISTS (SELECT 1
                      FROM ShouldImportMetricsIDsTable as sim
                      WHERE im.[Formulary ID] = sim.[Formulary ID] AND
                            im.[Market Segment] = sim.[Market Segment]
                     );
2021-03-17