我在MS Access 2010中遇到了一个问题。
我有一个巨大的表(tblItemRunData
),主要由外键组成。现在我想从中查询,但结合相关表来获取每个外键背后的信息。
我遇到的问题是,tblItemRunData
本身或相关表中的某些字段可能为空。如果它们为空或更像Null
,则查询不会向我显示记录。
我知道为什么会发生这种情况:http://office.microsoft.com/en-us/access-help/about-working-with-blank-fields-in-queries-mdb-HP005188534.aspx
但是我无法找到一种操作查询的方法来向我显示字段可能为空或不存在的所有记录。
我试图设置我想要用的每个字段的标准:
Is Null OR Is Not Null
这对我不起作用。
我希望我的解释足以让你理解我的问题,我真的希望有人能为我找到答案。
我真的很感激。提前谢谢。
以下是一些屏幕截图,使其更容易理解(我希望它能让它变得更容易)
包含许多FK和相关表
查询的内容是什么。我也在没有Is Null
和Is Not Null
表中实际存在的记录。如您所见,prioID_Ref
未设置为记录号。 5和其他一些字段没有设置为记录号。 4.这就是为什么我不在查询
答案 0 :(得分:2)
在一个Query中涉及多个表的想法既复杂又容易在出现错误时进行调试。效率已经枯竭,因为您涉及的表格可能不是实际的关系模式的一部分。如果你真的需要它们,可以尝试最好的方法解决任何问题 - “分而治之”。
尝试在子查询中拆分JOINS以获得更好的结果。您需要涉及的JOIN也不是DEFAULT“INNER”JOIN。你需要左或右连接。有关JOIN的更多信息,可以找到一个非常好的数据集示例:http://www.w3schools.com/sql/sql_join.asp
你可以走过这些例子来了解彼此。有几个表加入许多表,还有另外两个可能影响的问题。返回的数据集可能不可更新。 JOIN应该一个接一个地执行。如果您尝试将所有查询转换为右/左连接,那么您最终可能会错误地加入。