У меня есть продукт и таблица цен (со столбцами id продукта, цены и метки времени). Теперь мне нужно присоединиться к простому выбору продуктов по новейшей цене.
Простое объединение выберет первую сохраненную цену в таблице, но не самую новую.
SELECT p.*, pp.price
FROM products p
INNER JOIN product_prices pp ON (pp.product_id = p.id)
Итак, я попытался присоединиться, выбрав самую новую временную метку, но она будет возвращать только самую новую временную метку для всех записей, а не по цене продукта:
SELECT p.*, pp.*
FROM products p
LEFT JOIN
(SELECT product_id, ranking, MAX(timestamp) as timestamp
FROM product_prices) pp
ON pp.product_id = p.id
Существует ли разумный / правильный способ выбора всех продуктов с самой новой ценой на продукт?