我有一个表记录源(包含大量信息),我有一个包含1200条记录的表。我想将此目标表(包含1200条记录)附加到当前不存在的任何记录中。我的项目附加条件是:
"Not In ([TABLE - To Work].[Item Number])"
问题是,它返回我想要的记录,返回1200次,而不是一次。
例如:
Table A: Table B:
Item Number Item Number
12345 45678
45678
“12345”只会在表B中附加一次(然后再也不会追加!)我找了几个解决方案,我尝试使用不匹配的查询向导,但我认为这不是我想要的(它生成数字为空的地方)。我需要做些什么才能让这种方式看一下表的整个范围而不是逐项(我假设它为什么填充与现有记录相同的次数)?我离开了什么步骤?。
答案 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));