[英]SQL latest record per 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;
這將搜索比p1更新的價格(p2),如果找不到,則p1必須是最近的價格。
如果在給定日期可能有多個價格,那么您需要另一個術語來過濾掉副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.