我有这两个表独特的时间戳的行...只获得匹配间隔
产品:
id product_id store_id
1 242234 54034
2 224222 83820
3 839202 24224
4 939284 54034
定价:
product_id last_update source
242234 2016-02-11 12:00:00 7
242234 2016-02-12 12:00:00 7
242234 2016-02-13 12:00:00 7
839202 2016-02-14 12:00:00 3
839202 2016-02-15 12:00:00 3
839202 2016-02-16 12:00:00 3
939284 2016-01-08 12:00:00 7
939284 2016-02-15 12:00:00 7
939284 2016-02-16 12:00:00 7
我想只有products.id
值,其只有超过3天以上的。如果没有与定价表为pricing.product_id
更近的更新行的话,我想忽略pricing.product_id
完全。
为了做到这一点,我已经试过此查询,但它仍然返回具有较新的条目标识:
SELECT
pps.id
FROM
pricing pr
JOIN
products pps
ON pps.product_id = pr.product_id
WHERE
pr.source = 7 AND
pps.store_id = 54034
GROUP BY
pps.id
HAVING
pr.last_update < NOW() - INTERVAL 3 DAY
ORDER BY
pr.last_update DESC;
从给出的例子,它应该只返回pps.id
= 242234
而是它也返回939284
。
我将如何构建我的这个查询?
你问题似乎不错,但您可以加入你所期望的结果格式?你想要从每个产品的价格表或最初的价格(不管产品是什么)获得最后一个价格表。什么是源代码和商店ID,我们应该考虑哪些约束? – davejal