【问题标题】:Microsoft Access 2007 subquery prompting for unnecessary parameter [closed]Microsoft Access 2007 子查询提示输入不必要的参数 [关闭]
【发布时间】:2013-11-22 13:28:48
【问题描述】:

我正在尝试在 Access 2007 中创建一个查询,该查询将返回公司拥有的所有公寓大楼中空置的所有公寓的列表。查询需要运行的两个表是 Apartment 和 Rents。

我终其一生都无法弄清楚如何使用 Access 中的 GUI 进行这样的查询,所以我求助于自定义 SQL 查询:

SELECT Apartment.CIN, Apartment.AptNo
FROM Apartment
WHERE NOT EXISTS
(
    SELECT Rents.AptNo
    FROM Rents
    WHERE Rents.AptNo = Apartment.AptNo
);

当我运行查询时,系统会提示我“输入 Rents.AptNo 的参数值”。如果我输入一个有效数字,它似乎确实会以有利的方式影响结果。显然,这不会返回所有空置公寓,它只会返回除 AptNo 强制指定的所有公寓之外的所有公寓。

有没有办法让 Access 相信它不需要手动提供 Rents.AptNo 值?

附:我正在尝试松散地遵循本教程:http://allenbrowne.com/subquery-01.html

【问题讨论】:

  • 您的查询使用 AptNo,但数据模型显示该列名为 AptID
  • 尝试在最后一行将 AptNo 更改为 aptID
  • 就是这样!我刚改了它,它工作得很好!非常感谢!
  • 这个问题似乎是题外话,因为它是关于对象名称的简单错字

标签: sql ms-access ms-access-2007 subquery relational-database


【解决方案1】:

我想这就是我通宵达旦的收获!原来,当我真的打算使用 AptID 列时,我正在尝试使用 AptNo 列。为后代更正了下面的代码。

SELECT Apartment.CIN, Apartment.AptID
FROM Apartment
WHERE NOT EXISTS
(
    SELECT Rents.AptID
    FROM Rents
    WHERE Rents.AptID = Apartment.AptID
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多