2013-06-11 2 views
2

두 개의 테이블이 있습니다. 표 1에는 고유 계정 번호와 고유 계정 이름이 들어 있습니다. Table2는 Table1의 계좌 번호에 관련된 계좌 번호를 포함하지만 다른 "계좌 번호"도 포함합니다.다른 값으로 제한된 누락 된 값 찾기

Table1에있는 모든 계정 번호를 찾으려고하지만 Table2에는 존재하지 않습니다. 또한, 표 2의 "상위"계정 번호별로 누락 된 누락 된 계좌 번호를 원합니다.

Ex.

AccountNum AccountName 
1   a 
2   b 
3   c 
4   d 

표 2

ParentAccount AccountNum AccountName 
100   1   a 
100   2   b 
200   1   a 
200   2   b 
200   4   d 

내가 돌아 내 결과를 싶습니다

100   3   c 
100   4   d 
200   3   c 

을 지금까지 나는 단지하지 않는 값을 반환하는 방법을 알아낼 수 있습니다 표 2에 존재하지만 부모 계정에 의해 제한되지는 않습니다. 나는 테이블을 분리 할 것이지만 나는 수백 개의 부모 계정을 가지고있다.

SELECT Table1.AccountNum, Table1.AccountName 
FROM Table1 LEFT JOIN Table2 ON Table1.[AccountNum] = Table2.[AccountNum] 
WHERE (((Table2.AccountNum) Is Null)); 

모든 도움을 주시면 감사하겠습니다. 지금은 꽤 많은 시간 동안이 붙어 있었어요 및 액세스하고 있어요 2013 년

답변

0

우리에게 ParentAccount 및 AccountNum의 모든 조합 제공 [AccountCombinations]라는 이름의 저장된 쿼리를 작성하여하자의 시작 :

SELECT t2.ParentAccount, t1.AccountNum, t1.AccountName 
FROM 
Table1 t1, 
(
    SELECT DISTINCT ParentAccount FROM Table2 
) t2 

그 쿼리는

ParentAccount AccountNum AccountName 
------------- ---------- ----------- 
      100   1 a   
      200   1 a   
      100   2 b   
      200   2 b   
      100   3 c   
      200   3 c   
      100   4 d   
      200   4 d   

지금 우리가

SELECT * 
FROM AccountCombinations 
WHERE NOT EXISTS 
(
    SELECT * 
    FROM Table2 
    WHERE AccountCombinations.ParentAccount=Table2.ParentAccount 
     AND AccountCombinations.AccountNum=Table2.AccountNum 
) 
ORDER BY ParentAccount, AccountNum 
012,351,641 표 2

에 존재하지 않는 사람을 추출 할 수 있습니다 반환

... 돌아 오는 중 ...

ParentAccount AccountNum AccountName 
------------- ---------- ----------- 
      100   3 c   
      100   4 d   
      200   3 c   
+0

정말 고마워요! 이것은 내가 필요한 것입니다. – user2476446