2015-04-20 58 views
2

我有一個清單條目列表。每個條目都有一個日期,項目名稱和卷。我現在所做的是根據最新日期量選擇前10個項目,然後在我的表格中跟蹤過去5天內這些項目的量。海賊王我缺少的是,我想訂購基於項目的最近最新的批量訂單上所得到的表,即如何在Access 2010中的選擇查詢中創建自動增量字段?

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

看來你似乎在問兩個問題。一個如何自動遞增一個字段,另一個是如何按日期排序。你能用一句話來澄清你想要做什麼嗎? – Newd

+0

很抱歉,如果不清楚。我知道如何按日期排序,我只想學習如何在自動遞增的選擇查詢中添加一個字段。在我的示例查詢中,在最後一行中,我希望它讀取'ORDER BY DATA.TIMESTAMP DESC,TOP_VOLUMES.RANK',其中'RANK'是我添加到內部select語句中的一些自動遞增字段。 – Ellen

回答

0

我碰到可能包含答案的鏈接來到你正在尋找換 Access SQL how to make an increment in SELECT query

希望這可以幫助你!

+0

謝謝你的迴應;我已經看過這個,並且不能讓這個解決方案適用於我,因爲我沒有每個字段的唯一ID,並且我不想編寫VBA代碼。但我會再看一遍,謝謝! – Ellen

相關問題