2010-12-31 5 views
0

한 테이블에 입력 한 새 데이터를 두 번째 테이블의 레코드 집합과 병합 한 다음 추가 할 수있는 추가 쿼리를 만든 다음이를 Thord 테이블에 추가하려고합니다. 입력 된 새 데이터는 동일한 필드를 가질 수 있지만 다른 조합으로 표시 될 수 있습니다. 현재 쿼리는 첫 번째 테이블의 모든 레코드를 지속적으로 업데이트하므로 세 번째 테이블에 중복 레코드가 생성됩니다. 따라서쿼리 2007을 사용하여 새 레코드 만들기에 액세스

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] 

쿼리는 뭔가를해야한다는

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

를 읽어하실 수 있습니다 당신이 가지고있는 것입니다) 유용합니다. 필요한 것이지만 중복을 생성하는 경우 대신 SELECT DISTINCT를 시도 할 수 있습니다. –

답변

0

아래로 제쳐두고, 인생이 너무 복잡해지기 전에 자신과 필드 및 테이블 이름의 모든 공백을 제거하십시오 licated. 밑줄을 사용하거나 삭제할 수 있습니다.

테이블이 실제로 (즉, 하나의 레코드가 다른 관련 아이 없음)과 관련이없는 경우에 당신이 (당신은 데카르트의 제품을 찾을 수 있습니다
Fundamental Microsoft Jet SQL for Access 2000
Intermediate Microsoft Jet SQL for Access 2000
Advanced Microsoft Jet SQL for Access 2000

관련 문제