我有一個數據庫訪問,我登錄地圖,我借出。因此,我有一個名爲MapsOut的表,其中包含字段,MapNum(地圖ID),MapName(地圖名稱),CheckOut(地圖借出日期),CheckIn(返回地圖日期)。只顯示訪問查詢中的最後一個副本
MapNum MapName CheckOut CheckIn
1 London 01/02/13 07/05/13
1 London 08/05/13 16/06/13
1 London 19/07/13
2 Hull 30/01/13 05/03/13
2 Hull 06/04/13 01/05/13
3 Derby 11/01/13 17/02/13
3 Derby 05/09/13 06/10/13
4 Hove 01/02/13 01/03/13
我想編寫一個查詢,讓我只有每個MapNum的最後一個記錄,但只顯示那些在檢查回來,所以我知道這是從過去的,而在最近的順序最長時間之前,在CheckOut列中。所以結果應該是這樣的:
MapNum MapName CheckOut CheckIn
4 Hove 01/02/13 01/03/13
2 Hull 06/04/13 01/05/13
3 Derby 05/09/13 06/10/13
我已經做了查詢,但我不能讓SELECT DISTINCT工作,因爲它仍然顯示重複。
這是不工作:
SELECT DISTINCT Maps.MapNum AS MapNum, Maps.MapName, Max(MapsOut1.CheckOut) AS CheckOut, MapRecords.CheckIn
FROM (MapRecords INNER JOIN Maps ON MapRecords.MapNum = Maps.MapNum) INNER JOIN (MapsOut INNER JOIN MapsOut1 ON MapsOut.ID = MapsOut1.ID) ON Maps.MapNum = MapsOut.MapNum
GROUP BY Maps.MapNum, Maps.MapName, MapRecords.CheckIn
HAVING (((MapRecords.CheckIn) Is Not Null))
ORDER BY Maps.MapNum;
任何幫助將不勝感激。
在此先感謝
向我們展示查詢給你一個問題,也許有人可以修改它。 – BWS
剛剛添加了代碼 – theWolf