2016-04-18 8 views
0

アクセスデータベースにテーブルがあります。私が取り組んでいる質問は、選択されたフィールドを引き出すためのものですが、最新の日付の情報だけを引き出すことを意図しています。私はReport Dateフィールドの基準をmaxに変更しようとしました。また、合計を "Max"に変更しようとしました。これらのどちらも機能しません。だから、以下のSQLコードは、私が望むフィールドを引っ張って、最も新しいものから最初にデータをソートします。これは私の解決策に対する厄介な問題であり、私が必要とするデータに必要なデータをあまりにも多く(最近の日付の観測のみ)しています.-全体的に、すべての観測を最新の日付にするにはどうすればよいですか?ありがとう!最新の日付アクセステーブルのすべてのデータを取得する方法

SELECT  Max(RedProjectHistorical.[Report Date]) AS [MaxOfReport Date], 
      RedProjectHistorical.ID, 
      RedProjectHistorical.[Project Name], 
      RedProjectHistorical.[Client Name], 
      RedProjectHistorical.[Internal Project Status], 
      RedProjectHistorical.[Internal Project Status Value], 
      RedProjectHistorical.[Project manager] 
FROM  RedProjectHistorical 
GROUP BY RedProjectHistorical.ID, 
      RedProjectHistorical.[Project Name], 
      RedProjectHistorical.[Client Name], 
      RedProjectHistorical.[Internal Project Status], 
      RedProjectHistorical.[Internal Project Status Value], 
      RedProjectHistorical.[Project manager] 
ORDER BY Max(RedProjectHistorical.[Report Date]) DESC 

答えて

3

これを試してみてください:

SELECT  [Report Date], 
      ID, 
      [Project Name], 
      [Client Name], 
      [Internal Project Status], 
      [Internal Project Status Value], 
      [Project manager] 
FROM  RedProjectHistorical 
WHERE  [Report Date] = (
          SELECT MAX([Report Date]) 
          FROM RedProjectHistorical 
          ) 
ORDER BY [Report Date] DESC 

NB:フィールドが属するテーブルの上に何も矛盾はありません場合は、各フィールドにテーブル名を追加する必要はありませんが。

編集:これは、テーブルが「レポート日」で注文されたように動作します:

SELECT TOP 1 [Report Date], 
       ID, 
       [Project Name], 
       [Client Name], 
       [Internal Project Status], 
       [Internal Project Status Value], 
       [Project manager] 
FROM   RedProjectHistorical 
ORDER BY  [Report Date] DESC 
+0

は完全に理にかなっています。ありがとう – Lyle

関連する問題