Объединить таблицы и вернуть строку с последней отметкой времени - PullRequest
1 голос
/ 11 июля 2019

У меня есть две таблицы:

Таблица 1: продукт

id
product_title

таблица 2: product_stats

id
product_id
stock
timestamp

Я хочу присоединиться к таблице product_stats и показать запас для последней отметки времени.

Это то, что у меня так далеко ..

SELECT `p`.*, `s`.*
FROM `product` `p`
INNER JOIN (SELECT `stock`, `product_id`, `timestamp`
FROM `product_stats`
ORDER BY `timestamp` DESC
 LIMIT 1) s ON `s`.`product_id` = `p`.`id`

В последние пару дней мы боролись с этим, так что решение было бы очень полезно!

UPDATE / FIXED

И, конечно, по какой-то причине, когда я наконец опубликовал вопрос, я наконец-то нашел решение. проверьте это здесь:

SELECT    p.product_title, st.timestamp, st.stock
FROM      product p
JOIN      (
              SELECT    MAX(id) max_id, product_id 
              FROM      product_stats
              GROUP BY  product_id
          ) c_max ON (c_max.product_id = p.id)
JOIN      product_stats st ON (st.id = c_max.max_id)
...