6

我有一个表记录源(包含大量信息),并且我有一个包含 1200 条记录的表。我想将当前不存在的任何记录附加到此目标表(包含 1200 条记录)中。我要附加的项目的标准是:

"Not In ([TABLE - To Work].[Item Number])"

问题是,它正在返回我想要的记录,返回 1200 次,而不是一次。

例如:

Table A:                    Table B:

Item Number                 Item Number
12345                       45678
45678

“12345”只会追加到表 B 中一次(然后再也不会追加!)我寻找了一些解决方案,并尝试使用不匹配的查询向导,但我认为这不是我真正想要的(它生成的编号为空)。我需要做些什么来查看表格的整个范围而不是逐项查看(我认为这就是为什么它与现有记录的填充次数相同)?我遗漏了哪一步?

4

2 回答 2

5

您的查询的一般形式将类似于

INSERT INTO [Table B] ( [Item Number] )
SELECT [Table A].[Item Number]
FROM [Table A]
WHERE [Table A].[Item Number] NOT IN (SELECT [Item Number] FROM [Table B]);

注意 [Table B] 不在主查询的 FROM 子句中,它只在 NOT IN 子查询的 FROM 子句中。

于 2013-05-13T20:05:24.250 回答
2

这对我有用:

INSERT INTO [Table B] ( [Item Number] )
SELECT DISTINCT [Table A].[Item Number]
FROM [Table A] LEFT JOIN [Table B] ON [Table A].[Item Number] = [Table B].[Item Number]
WHERE ((([Table B].[Item Number]) Is Null));
于 2018-01-08T17:26:25.120 回答