2017-04-12 18 views
0

最小の日付と名前に基づいてフィールドAMTの最小のamtを検索するSQLクエリを作成するのを手伝ってください: ACCESSのフィールド[Min amt]名前に対する最小の日付に基づくテーブル。たとえば、名前のAは、少なくとも日付4/9/17を有し、そのAMTは7000です:条件に基づいて最小(フィールド)のMS-Accessクエリ

Name Date   Amt  Min Date  Min Amt 
A  4/12/2017 $1,000.00 4/9/2017  $7,000.00 
A  4/11/2017 $2,000.00 4/9/2017  $7,000.00 
B  4/10/2017 $3,000.00 4/10/2017 $3,000.00 
B  4/11/2017 $4,000.00 4/10/2017 $3,000.00 
C  4/10/2017 $5,000.00 4/10/2017 $5,000.00 
C  4/11/2017 $6,000.00 4/10/2017 $5,000.00 
A  4/9/2017  $7,000.00 4/9/2017  $7,000.00 
+1

私はあなたが_not_これを行うことを示唆してもいいですか?新しいデータが来るとすぐに、特定の日付に「最小日付」および「最小値」列を無効にすることができます。 –

答えて

1

私はあなたないが実際にそれらの計算列を作成することをお勧めします。新しいデータが登場するとすぐに無効にすることができ、無駄になることがあります。

代わりに、私は、それぞれの名前のための最も初期の量を示すレポートを作成することをお勧めします:

SELECT t1.Name, t1.Date, t1.Amt, 
     t2.[Min Date], 
     t2.[Min Amt] 
FROM yourTable t1 
INNER JOIN 
(
    SELECT t1.Name, t1.Date AS [Min Date], t1.Amt AS [Min Amt] 
    FROM yourTable t1 
    INNER JOIN 
    (
     SELECT Name, MIN(Date) AS min_date 
     FROM yourTable 
     GROUP BY Name 
    ) t2 
     ON t1.Name = t2.Name AND 
      t1.Date = t2.min_date 
) t2 
    ON t1.Name = t2.Name 
関連する問題