选择正确的日期

时间:2017-08-15 14:53:56

标签: ms-access ms-query

请原谅我的格式......我正在努力。

我试图根据相应的生效日期在我的查询中选择项目的正确价格。

例如,我们有一个包含以下信息的表

价格表-------------------------

物品价格有效日期

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

现在我有一个生产表,其中包含当天生产的产品,并列出了生产日期的数量和产量。

生产表-------------------

物料数量productionDate

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

现在当我查询这些时,我希望能够在给定productionDate和effectiveDate的情况下选择合适的价格。

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

尝试以下操作(首先选择低于productionDate的最高有效日期,然后获取该日期的价格):

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