我有一个MySQL数据库,它有一个很多关系字段(例如order和order_items)每次更改order_item时,记录也会插入到order_item_history表中,并在修改后的字段中加上时间戳。
我需要做的是查询数据库以根据特定日期获取订单状态。要获取特定order_item的最新版本,我会
来自order_item_history的SELECT *,其中order_item_id = 4并修改了< =' SEARCH DATE '按修改后的DESC限制1订购
我无法弄清楚的是如何编写一个像上面那样工作的查询,除了根据order_id字段返回附加到订单的所有项目的最新版本
我可以通过将order_item_ids放在一个数组中并为每个数组运行查询来以编程方式在PHP中执行此操作,但我必须认为有一种方法可以从MySQL中执行此操作。
非常感谢任何帮助。
答案 0 :(得分:0)
尝试 -
SELECT * FROM order_item o
LEFT JOIN order_item_history oh ON o.id=oh.item_id
WHERE o.id=4
ORDER BY o.id DESC
LIMIT 1