2016-06-13 192 views
0

我正在MS Access中編寫SELECT查詢。有一個子表(一對多),其中每個人都有不同的結束日期,如下面的多個記錄:MS Access選擇與日期最接近的日期記錄

Schedule Table 
ID StartTime EndTime AssignmentEndDate 
1 6:00   12:00  01/01/2016 
1 6:00   12:00  06/30/2016 
1 6:00   12:00  01/01/9999 

從記錄中,有3個AssignmentEndDate記錄。我需要獲取Date最接近今天日期的記錄,但尚未傳遞。今天是06/13/2016所以,我需要 以AssignmentEndDate 06/30/2016獲取第2條記錄。如果今天是2016年7月13日,那將是1999年1月1日的記錄。

我不能使用Max()...所以我怎麼能寫一個SELECT來做到這一點?

感謝

+0

添加你真實目的是試圖查詢。 –

+0

你的第二個例子使用2016-07-13沒有意義。這也應該返回第二行。 –

回答

2

你可以做到這一點是:

select top 1 s.* 
from schedule as s 
where assignmentdate > Date() 
order by assignmentdate asc; 
+1

'Today()'是Jet/Ace/Access函數嗎?我認爲這會是'Date()' – jleach