1
のための保存/登録サブクエリはのは、私はほとんど変更されない製品コストと店を持っていると言うので、私はを設定するには、次のようになりますテーブルのコスト最後に更新されたときに、現在のコストの出力とは、私はこれを行うことができます:SQLiteの:繰り返し使用
:SELECT items.name, cost, latestdate
FROM items
LEFT NATURAL JOIN (
SELECT itemid, costs.cost, latestdate
FROM (
SELECT itemid, MAX(date) as latestdate
FROM costs
GROUP BY itemid
)
LEFT NATURAL JOIN costs
WHERE date = latestdate
);
このクエリが何かのように書くことができるようにサブクエリを節約することが可能です
SELECT items.name, cost, latestdate
FROM items
LEFT NATURAL JOIN get_current_cost();
また、 "コスト・ビフォア・日付" の状況で:
CREATE VIEW current_cost AS
SELECT itemid, cost, MAX(date) AS latestdate
FROM costs
GROUP BY itemid;
(。、SQLiteのでa bare column in an aggregate query works)
:
SELECT items.name, cost
FROM items
LEFT NATURAL JOIN (
SELECT itemid, costs.cost, latestdate
FROM (
SELECT itemid, MAX(date) as latestdate
FROM costs
GROUP BY itemid
WHERE date < *somedate*
)
LEFT NATURAL JOIN costs
WHERE date = latestdate
);
-- Change To
SELECT items.name, cost
FROM items
LEFT NATURAL JOIN get_cost_by(*somedate*)
ありがとうございます!適切な検索用語を見つけることは、常に最も難しい部分です: - / –