如何在 Access 2010 的选择查询中创建自动增量字段?

Posted

技术标签:

【中文标题】如何在 Access 2010 的选择查询中创建自动增量字段?【英文标题】:How to create auto-increment field in select query in Access 2010? 【发布时间】:2015-06-27 19:26:06 【问题描述】:

我有一个库存条目列表。每个条目都有日期、项目名称和卷。我现在正在做的是根据最近日期的数量选择前 10 个项目,然后在我的表中跟踪过去 5 天这些项目的数量。我缺少的一件是我想根据项目的最新日期批量订单来订购结果表,即

Date  Item   Volumes
1/20  Dog    5
1/20  Bird   4
1/20  Cat    2
1/19  Dog    3
1/19  Bird   6
1/19  Cat    10
1/18  Dog    0
1/18  Bird   2
1/18  Cat    0

下面是我正在运行的 sql 代码的清理版本。截至目前,我在按日期排序后所做的第二次排序只是按项目名称的字母顺序排序。

SELECT 
 TOP_VOLUMES.NAME, 
 DATA.VOLUMES, 
 DATA.TIMESTAMP
FROM DATA 
RIGHT JOIN 
 (SELECT TOP 10 NAME
  FROM DATA 
  WHERE TIMESTAMP = (SELECT MAX(TIMESTAMP) FROM DATA) 
  ORDER BY VOLUMES DESC, NAME) AS TOP_VOLUMES 
ON TOP_VOLUMES.NAME = DATA.NAME
WHERE ((SELECT MAX(TIMESTAMP) FROM DATA) - DATA.TIMESTAMP < 5)
ORDER BY DATA.TIMESTAMP DESC , DATA.NAME;

我真的很想避免为此创建任何临时表。有什么方法可以在连接中的 select 语句中做到这一点?任何帮助将不胜感激!

【问题讨论】:

您似乎在问两个问题。一是如何自动增加字段,二是如何按日期排序。你能用一句话说明你要做什么吗? 很抱歉,如果不清楚。我知道如何按日期排序,我只想了解如何在选择查询中添加一个自动递增的字段。在我的示例查询中,在最后一行中,我希望它读取ORDER BY DATA.TIMESTAMP DESC, TOP_VOLUMES.RANK,其中RANK 是我添加到内部选择语句中的一些自动递增字段。 【参考方案1】:

我遇到了一个链接,其中可能包含您正在寻找的答案- Access SQL how to make an increment in SELECT query

希望对您有所帮助!

【讨论】:

感谢您的回复;我已经查看了这个并且无法使一个解决方案对我有用,因为我没有每个字段的唯一 ID,而且我不想编写 VBA 代码。不过,我会再看一遍 - 谢谢!

以上是关于如何在 Access 2010 的选择查询中创建自动增量字段?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Access 2010 中组合多种查询类型?

如何在 CakePHP 中创建自定义 MySQL 查询?

如何在 grails 域中创建自定义查询

如何在 JavaScript 中创建自定义错误?

如何在 app.config 中创建自定义配置部分? [复制]

使用 VBA 在 Microsoft Access 中创建表单