Sql Access 2010参数查询-和或
我有一个我想查询的站点详细信息列表——只返回那些缺少数据的站点。我想让我的用户能够查询数据库,只返回选定组的信息Sql Access 2010参数查询-和或,sql,ms-access-2010,Sql,Ms Access 2010,我有一个我想查询的站点详细信息列表——只返回那些缺少数据的站点。我想让我的用户能够查询数据库,只返回选定组的信息 SELECT Lookup.Lookup_Name, Contacts.Address1, Contacts.Address2 FROM Contacts INNER JOIN Lookup ON Contacts.Group_1 = Lookup.Lookup_Code WHERE (((Lookup.Lookup_Name)=[Site]) AND ((Contacts.
SELECT
Lookup.Lookup_Name,
Contacts.Address1,
Contacts.Address2
FROM
Contacts INNER JOIN Lookup ON Contacts.Group_1 = Lookup.Lookup_Code
WHERE (((Lookup.Lookup_Name)=[Site]) AND ((Contacts.Address1) Is Null)) OR (((Contacts.Address2) Is Null));
但是,这不会从所选站点返回数据,而是从所有站点返回数据。我认为这是和或相关括号的组合。我还有很多字段要添加到列表中,因此任何建议都会受到重视不幸的是,MS Access的括号非常宽泛。即使您不放置它们,MS Access也会将它们放入—无论逻辑上是否需要它们 但您的查询中还有一个逻辑错误: 您的第一个查找条件仅与
和
链接到第一个地址空条件,而第二个地址空条件仅与或
链接,这导致空地址2字段从所有行(所有站点)显示
请尝试以下版本:
SELECT
Lookup.Lookup_Name,
Contacts.Address1,
Contacts.Address2,
Contacts.further1,
Contacts.further2,
Contacts.further3 -- and so on ...
FROM
Contacts INNER JOIN Lookup ON Contacts.Group_1 = Lookup.Lookup_Code
WHERE ((Lookup.Lookup_Name)=[Site])
AND ( ((Contacts.Address1) Is Null)
OR ((Contacts.Address2) Is Null)
OR ((Contacts.further1) Is Null)
OR ((Contacts.further2) Is Null)
OR ((Contacts.further3) Is Null)
);
目前,我的计算机上没有安装MS Access,因此上述功能尚未测试。我希望它能起作用