我有一个库存条目列表。每个条目都有日期,项目名称和卷。我现在正在做的是根据最近的日期卷选择前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语句中执行此操作?任何帮助将不胜感激!
答案 0 :(得分:0)
我遇到的链接可能包含您正在寻找的答案 - Access SQL how to make an increment in SELECT query
希望这能帮到你!