sql - 插入 INTO NOT EXISTS SQL Access

标签 sql vba ms-access insert

我正在尝试使用 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]
                     );

关于sql - 插入 INTO NOT EXISTS SQL Access ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282127/

相关文章:

ms-access - 我可以隐藏 slider 的工具提示文本吗?

vba - 如何循环浏览 Outlook 中的特定文件夹

ms-access - 使用 Access VBA在SQL语句的WHERE子句中使用数组

ms-access - Access 2013 打印预览中的乱码

database - 逆向工程 Access 数据库

mysql - 快速刷新摘要数据以最大限度地减少停机时间

sql - 你可以使用 "col1 OR col2"在mysql中使用索引吗?

vba - 使用 for 循环在工作簿中添加新工作表

sql - 使用 ifs 包含无限间隔的日期范围

sql - ROW_NUMBER 条查询数据是否需要获取整个结果集?