MySQL クエリの作成についてサポートが必要です。これまでのところ、私のニーズに合う質問はないようです。
order
テーブルとテーブルがありorder_log
ます。order_log テーブルでは、注文のステータスが変更されるたびに記録を作成します。order_log テーブルから最新のステータス変更のリストを表示する必要があります。私が現在使用しているクエリは、2 つのテーブルで JOIN を実行し、order.status = order_log.status のすべてを取得します。
これに関する問題は、注文が同じステータスを複数回通過する場合があることです。それが発生すると、私のクエリはその注文とそのステータスの order_log テーブル内のすべてのエントリを取得しますが、最新のログのみが必要です。
order_log の日付エントリの最大値を取得するために新しい JOIN クエリを作成しようとしましたが、1 つのエントリしか返されません。これは私が持っているものです。
SELECT *
FROM order_status_log AS l
JOIN orders AS o ON ( l.order_id = o.id )
WHERE l.status = o.status
AND l.date = (
SELECT MAX( date )
FROM order_status_log l2
JOIN orders AS o2 ON ( l2.order_id = o2.id )
)
何か案は?