我正在尝试创建一个追加查询,该查询将新数据输入到一个表中,并将其与第二个表中的一组公共记录合并,然后将其添加到thord表中。 输入的新数据可以具有相同的字段但具有不同的组合,目前查询我不断更新第一个表中的所有记录,从而在第三个表中创建重复记录。
查询如下
INSERT INTO ANSWERS ( [CUST KEY], [BU KEY], [QUESTION NO], QUESTION )
SELECT [CUSTOMER INPUT].[CUST KEY], [CUSTOMER INPUT].[BU KEY], QUESTIONS.[QUESTION ID], QUESTIONS.QUESTION
FROM [CUSTOMER INPUT], QUESTIONS;
答案 0 :(得分:0)
那应该是这样的:
INSERT INTO Answers (
[Cust Key], [Bu Key],
[Question No], Question )
SELECT
[Customer Input].[Cust Key],
[Customer Input].[Bu Key],
Questions.[Question Id], Questions.Question
FROM [Customer Input]
INNER JOIN Questions
ON [Customer Input].[Question Id] = Questions.[Question Id]
WHERE [Customer Input].[Cust Key]
NOT IN (SELECT [Cust Key] FROM Answers)
我已经猜到了问题和客户输入的共同领域,因此:
[Customer Input].[Question Id] = Questions.[Question Id]
顺便说一句,在生活变得过于复杂之前,请自己帮忙并摆脱字段和表格中的所有空格。您可以使用下划线或只删除它们。
您可能希望阅读Fundamental Microsoft Jet SQL for Access 2000
Intermediate Microsoft Jet SQL for Access 2000
Advanced Microsoft Jet SQL for Access 2000