共通キー「itemID」を共有する 2 つのテーブルがあります。最初のテーブルには各 itemID の最新の価格が保持され、2 番目のテーブルには、表示されているように itemID 価格の変更の日付と値が保持されます。tLatestItemPrice テーブルは、新しいエントリが tPriceHistory テーブルに入力されるたびに自動的に更新されます。
tLatestItemPrice TABLE
itemID, latestPrice
---------------------
item1 400
item2 75
item3 621
tPriceHistory TABLE
itemID, PriceChangeDate, NewPrice
------------------------------------
item1 Jan 8th 2012 400
item1 Jan 7th 2012 300
item1 Jan 6th 2012 280
item1 Jan 3rd 2012 270
item2 Jan 8th 2012 75
item2 Jan 5th 2012 72
item2 Jan 1st 2012 60
item3 Jan 7th 2012 621
item3 Jan 6th 2012 601
item3 Jan 2nd 2012 598
tLatestItemPrice テーブルの最新の価格と特定の日付の商品の価格との差額を返すクエリが必要です。つまり、最新の 1 月 4 日から 1 月 4 日までの価格の変更を求める場合、次のデータセットを返すクエリが必要です。
itemID Price change from 4th Jan
--------------------------
item1 130 (i.e. 400-270)
item2 15
item3 23
Linux (x86_64) 用の mysql バージョン 14.14 Distrib 5.5.29 の実行