2

私は2つのテーブルを持っています。Table1 には、一意のアカウント番号と一意のアカウント名が含まれています。Table2 には、Table1 の口座番号に関連する口座番号が含まれていますが、別の「親」口座番号も含まれています。

Table1 には存在するが、Table2 には存在しないすべての口座番号を見つけようとしています。さらに、表2の「親」口座番号ごとに欠落している各欠落口座番号を希望します。

元。

表1

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

どんな助けでも大歓迎です。私はかなり長い間これに固執しており、Access 2013 で作業しています。

4

1 に答える 1

0

[AccountCombinations] という名前の保存済みクエリを作成することから始めましょう。これにより、ParentAccount と AccountNum のすべての組み合わせが得られます。

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          

これで、Table2 に存在しないものを抽出できます。

SELECT * 
FROM AccountCombinations
WHERE NOT EXISTS
(
    SELECT * 
    FROM Table2
    WHERE AccountCombinations.ParentAccount=Table2.ParentAccount
        AND AccountCombinations.AccountNum=Table2.AccountNum
)
ORDER BY ParentAccount, AccountNum

...戻る...

ParentAccount  AccountNum  AccountName
-------------  ----------  -----------
          100           3  c          
          100           4  d          
          200           3  c          
于 2013-06-12T09:12:26.840 に答える