追加如果该项目不存在于另一个表中?

时间:2013-05-13 18:55:14

标签: ms-access

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

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

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

例如:

Table A:                    Table B:

Item Number                 Item Number
12345                       45678
45678

“12345”只会在表B中附加一次(然后再也不会追加!)我找了几个解决方案,我尝试使用不匹配的查询向导,但我认为这不是我想要的(它生成数字为空的地方)。我需要做些什么才能让这种方式看一下表的整个范围而不是逐项(我假设它为什么填充与现有记录相同的次数)?我离开了什么步骤?。

2 个答案:

答案 0 :(得分:3)

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

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]);

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

答案 1 :(得分:1)

这对我有用:

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));