2017-08-15 9 views
-1

私の書式を失礼にしてください...私はそれに取り組んでいます。正しい日付を選択する

私は適切な有効期限に基づいて、私の質問のプロジェクトの正しい価格を選択しようとしています。例えば

私たちは、次の情報を持つテーブルを持っている

価格表-------------------------

商品価格effectiveDateは

  • A $ 0.57 1/1/17
  • A $ 0.72 6/1/17

今私は、生産のテーブルを持っていますその日に生産されたものが含まれており、生産日の生産数量と数量が表示されます。

製造表-------------------

商品数量productionDate

  • 100 2/1/17
  • 100 7/1/17

これらの質問をすると、productionDateとeffectiveDateを指定して適切な価格を選択できるようになります。

これを達成するための最良の方法は何ですか?

答えて

2

(最初にその日付の価格を取得、その後、productionDateより低い最高effectiveDateを選択)以下を試してください:あなたは、クエリやSQL、内側のクエリ(に非常に新しく追加された場合には

SELECT preselection.Item, Price FROM 
(SELECT Production.Item, Max(effectiveDate) As MaxEffectiveDate 
FROM Production INNER JOIN Price ON Price.item = Production.Item 
Where Price.effectiveDate <= productionDate GROUP BY Production.Item) As preselection 
INNER JOIN Price ON Price.Item = preselection.Item 
AND Price.effectiveDate = preselection.MaxEffectiveDate 
+1

@Jamesカッコ内の)は、[Get Production Effective Date]などの別のクエリとして保存することができます。次に、保存されたクエリは、 'SELECT preselection.Item、Price FROM [Production Production Dateを取得する]のような他のクエリで参照することができます。このアプローチの利点は、両方のクエリをAccess Design Viewを使用して個別に編集してテストできることです。 –

関連する問題