请原谅我的格式......我正在努力。
我试图根据相应的生效日期在我的查询中选择项目的正确价格。
例如,我们有一个包含以下信息的表
价格表-------------------------
物品价格有效日期
现在我有一个生产表,其中包含当天生产的产品,并列出了生产日期的数量和产量。
生产表-------------------
物料数量productionDate
现在当我查询这些时,我希望能够在给定productionDate和effectiveDate的情况下选择合适的价格。
实现这一目标的最佳方法是什么?
答案 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