我正在尝试使用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);
您需要一个关联子句。子查询仅检查表是否为空。就像是:
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] );