Ms access 查找受其他值约束的缺失值

Ms access 查找受其他值约束的缺失值,ms-access,ms-access-2013,Ms Access,Ms Access 2013,我有两张桌子。表1包含唯一的帐号和唯一的帐号名。表2包含与表1的账号相关的账号,但也包含另一个“父”账号 我正在尝试查找表1中存在但表2中不存在的所有帐号。此外,我还想查看表2中“家长”账号缺失的每个缺失账号 前 表1 AccountNum AccountName 1 a 2 b 3 c 4 d 表2 ParentAccount AccountNum AccountName 100

我有两张桌子。表1包含唯一的帐号和唯一的帐号名。表2包含与表1的账号相关的账号,但也包含另一个“父”账号

我正在尝试查找表1中存在但表2中不存在的所有帐号。此外,我还想查看表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中工作。

让我们先创建一个名为[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          
现在我们可以提取表2中不存在的数据

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          

非常感谢你!这正是我所需要的。