1
我有以下2個表:SQL最新記錄每foreign_key
- 成分(ID,姓名)
- ingredient_prices(ID,ingredient_id,價格,created_at)
這樣一種成分可以有很多價格。 什麼是獲得每種成分的最新輸入價格的最佳方式?我知道這可以通過子選擇輕鬆完成,但是我想知道是否有更有效的方法來完成它。
我有以下2個表:SQL最新記錄每foreign_key
這樣一種成分可以有很多價格。 什麼是獲得每種成分的最新輸入價格的最佳方式?我知道這可以通過子選擇輕鬆完成,但是我想知道是否有更有效的方法來完成它。
我做這種方式:
SELECT i.*, p1.*
FROM ingredients i
JOIN ingredient_prices p1 ON (i.id = p1.ingredient_id)
LEFT OUTER JOIN ingredient_prices p2 ON (i.id = p2.ingredient_id
AND p1.created_at < p2.created_at)
WHERE p2.id IS NULL;
此搜索價格(P2)比P1更近,如果沒有被發現,那麼P1必須是最近的價格。
如果在給定的日期有多個價格的可能性,那麼您需要另一個術語來過濾掉重複。