首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问查询帮助(查询查询)

访问查询帮助(查询查询)
EN

Stack Overflow用户
提问于 2013-06-27 22:01:23
回答 1查看 62关注 0票数 1

我正在处理一个查询,它把我难住了。

我有一个有很多提案的表,它们有一个提案添加到数据库中的创建日期。我想根据用户选择一个州进行查询,然后查询只显示最近创建的提案。

示例:

我有4个建议。2来自特拉华州,创建于2013年1月1日和2013年1月2日。另外两个提案来自马里兰州,分别创建于2013年1月3日和2014年1月4日。如果用户在特拉华州键入,则应在2013年1月2日显示建议书,但如果用户在马里兰州键入,则应在2013年1月4日显示建议书。

首先,我尝试了这个

代码语言:javascript
运行
复制
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个字段,所以我认为没有人会想要看到那堵墙的文本。

任何建议都会很棒,我希望我提供了足够的信息。

EN

回答 1

Stack Overflow用户

发布于 2013-06-28 05:18:22

通过弹出框,我假设你指的是一个访问参数。在这种情况下,下面将显示在出现的参数框中输入的状态的最新记录。(我使用了我的示例数据库中的一些字段名。)

代码语言:javascript
运行
复制
SELECT TOP 1 FirstName, Surname, Office, StartDate 
FROM Opportunity 
WHERE State=[Which State] 
ORDER BY CreationDate DESC;

它按照CreationDate的降序对记录进行排序,并获取第一个记录。但是,如果有多个记录具有相同的日期,它将返回所有这些记录。(这是TOP n在Access中的行为方式-它不解析重复项。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17345297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档