当前位置: 首页 > 面试题库 >

如何使用另一个表字段作为MS Access的标准

步兴德
2023-03-14
问题内容

这是MS Access相关的查询。

我有一个包含三列的表:FName, FValue and VDate在MS
Access中。(实际表很大,但是下面的示例仅供参考)!http://postimg.org/image/bx0grwoa3/

现在,我想获得以下类型的查询输出:获取每个唯一名称的最小季度值。例如:
!http://postimg.org/image/je1w7gdi1/

到目前为止,通过使用以下命令,我可以通过硬编码标准获得四分之一的输出(在MS Access中)

SQL字符串是:

SELECT Table.FName, Min(Table.FValue) AS MinOfFValue, First(Table.VDate) AS FirstOfVDate
FROM [Table] LEFT JOIN [Table] AS Table_1 ON Table.FValue = Table_1.FValue
WHERE (((Table.VDate)>#3/31/2014# And (Table.VDate)<#7/1/2014#))
GROUP BY Table.FName;

现在,我希望日期不是硬编码的放置日期,而是要在其中存在季度名称(从日期到日期)的表的一部分中,Access将它们一一对应并提供所需的输出。

提前致谢。


问题答案:

第二个问题比第一个困难。我的方法是使用3个独立的查询来获取答案:

Query1为原始表中的每个记录返回一条记录,并从四分之一表中添加年份和四分之一。请注意,除了使用季度表之外,您还可以轻松地从日期开始计算年份和季度。

SELECT Table.FName, Table.FValue, Table.VDate, Quarters.Yr, Quarters.Qtr
FROM [Table], Quarters
WHERE (((Table.VDate)>=[start] And (Table.VDate)<=[end]));

Query2使用Query1的结果,并找到所需的最小值:

SELECT Query1.FName, Query1.Yr, Query1.Qtr, Min(Query1.FValue) AS MinValue
FROM Query1
GROUP BY Query1.FName, Query1.Yr, Query1.Qtr;

Query3匹配Query1和Query2的结果,以显示达到最小值的数据。请注意,我使此查询为Sum,并使用First(VDate),假设最小值可能已多次出现,而您只需要第一次出现。

SELECT Query1.FName, Query1.Yr, Query1.Qtr, Query2.MinValue, First(Query1.VDate) AS MidDate, Query1.FValue
FROM Query1 INNER JOIN Query2 ON (Query1.Qtr = Query2.Qtr) AND (Query1.FValue = Query2.MinValue) AND (Query1.FName = Query2.FName)
GROUP BY Query1.FName, Query1.Yr, Query1.Qtr, Query2.MinValue, Query1.FValue;

在一个查询中可能有一种聪明的方法来完成所有这些操作,但这通常是解决类似问题的方法。



 类似资料:
  • 问题内容: 我试图用Final中的值更新表Original。我是SQL的新手,但是我已经花了两个小时尝试更改各种样本以满足我的需求。我正在使用Access 2007。 问题答案: 我不确定您的陈述仅返回一行。如果要使用分配语句对表执行更新,则 必须 确保它仅返回一行。 除此之外,您可以考虑下一个解决方案: 请注意,只有当两者都是表和表中的唯一键并且它们之间具有适当的关联时,这才可以正常工作。

  • 问题内容: 我正在尝试执行以下更新查询: 该查询显然是错误的,因为它不起作用。我该如何解决? 该查询应该使用和()的串联值来更新列。但是,在另一个名为的表上,这就是为什么我尝试执行内部联接的原因。 我在做什么错,我该如何解决?非常感谢你。 问题答案: 我看不到任何迹象显示在文档即或 在支持的语句。 如果没有,也许您可​​以尝试相关的子查询。

  • 问题内容: 我想按(不修改日期时间)将其排序(不修改日期时间),否则按(不发布日期时间)排序 问题答案: 似乎我每周在这里就此给出3条建议,也许我应该放弃并放任它:-)不,我不这么认为: __ 如果希望数据库很好地扩展,请 不要 在列计算(或子句)中使用逐行函数。你应该为你的具体情况检查性能( 测量,不要猜测 ),但是当做计算 读取 数据库通常会影响你的能力,规模(这不会不管你的通讯录数据库,但我

  • 我在编程一个订单提交页面时遇到了一个相当大的问题,该页面的目的是提交一个订单的争议--提供两个字段被填写,但只有当一个字段少于另一个字段时。 基本上,一个是下拉,另一个是争端框,查询如下: 如果DispotestExtBox=“”而下拉框=“请选择...” 一切正常-提交按钮已启用 如果DisportestExtBox!=“”而下拉框=“请选择...” 错误(反之亦然,因此如果填充了Dispone

  • 我正在使用两个具有扁平数据结构的存储库,例如“MenuItemRepo”和“IngredEnterpo”。它们之间的关系结构是:一个菜单项可以包含许多成分,而一种成分(例如奶酪)可以是许多菜单项的一部分。数据库表的建模如下: > MenuItem表条目 字符串Menuitem-id 字符串名称... MenuItem成分参考表条目 字符串Menuitem-id 字符串成分ID 成分表条目 字符串成

  • 我使用Symfony 5.3。我有一个表单,有3个字段没有映射到任何实体: "原因"-文本, use_predefined复选框 "predefined_reason"-下拉列表。 我构建的表单如下(一个片段): “原因”字段应根据需要显示在UI中,但其他两个字段不应显示。但是,在验证过程中,如果选中了复选框“预定义的原因”,则第一个字段不应为必填字段,而“预定义的原因”应为必填字段。