我正在处理一个查询,这让我很困惑。
我有一张包含很多提案的表格,并且他们有一个提案添加到数据库的创建日期。我想根据用户选择状态进行查询,然后查询仅显示最近创建的提案。
例子:
我有 4 个提案。2 来自特拉华州,于 2013 年 1 月 1 日和 2013 年 1 月 2 日创建。其他 2 个提案来自马里兰州,创建于 2013 年 1 月 3 日和 2014 年 1 月 4 日。如果用户在特拉华州输入,那么它应该在 2013 年 1 月 2 日显示提案,但如果用户在马里兰州输入,它应该在 2013 年 1 月 4 日显示提案。
首先,我试过这个
SELECT *
FROM Opportunity
WHERE (((Opportunity.CreationDate)=
(select max(Opportunity.CreationDate) from Opportunity)));
这行得通,它向我显示了 1 个具有最新日期的机会。所以,这是成功的一半。但是当我试图指定一个状态时,我遇到了麻烦。它是 Access,所以我认为创建一个会提示用户输入状态的查询,然后进入第二个查询,该查询将查询最大日期字段的这些结果,但它没有。所以,我现在拥有的是:
查询 1
Select * FROM Opportunity
它会出现一个弹出框,询问用户的状态。然后它会显示该状态的所有结果。
查询 2
SELECT * FROM OpportunityByState WHERE (((OpportunityByState.CreationDate)=(select max(Opportunity.CreationDate) from Opportunity)));
注意:我在此处发布之前编辑了 SQL 以使用所有字段符号 (*),因为 Access 写出了每个字段并且其中大约有 60 个,所以我认为没有人想看到那堵文字墙。
任何建议都会很棒,我希望我提供了足够的信息。