購入の予測に使用される Access データベースで作業しており、有効な価格と行の合計を含むレコードのリストを取得するクエリを作成しようとしています。
価格と数量を組み合わせようとすると問題が発生します。次のテーブルがあります
予測データを含むテーブル (このクエリに関係のない列は省略)
need_rows
ID product_id qty use_date
----------------------------
1 1 100 1.1.2014
2 1 50 15.1.2014
...
そして価格表
prices
ID product_id price valid_from
----------------------------------
1 1 1 1.12.2013
2 1 2 24.12.2013
3 1 5 10.1.2014
...
クエリの結果は次のようになります。
result of query
product_id use_date qty price sum
---------------------------------------
1 1.1.2014 100 2 200
1 15.1.2014 50 5 250
...
つまり、need_rows の use_date と price の valid_from 日付に基づいて、各行に有効な価格を取得する必要があります。有効な価格とは、valid_from の日付が use_date と同じか最新のものです。
以下は、私が試したアプローチの1つです。
SELECT prices.price
FROM prices
WHERE (((prices.product_id)=[product_id]) AND ((prices.valid_from)=
(SELECT Max(prices.valid_from) AS valid
FROM prices
WHERE (((prices.product_id)=[product_id]) AND ((prices.valid_from)<=[use_date]));).));
どんな助けでも大歓迎です!