データベースに次のテーブルがあります
プロジェクトにはいくつかのステータス(待機中、作業中、完了、支払い済み) があり、プロジェクトは待機中から支払い済みまでのすべてのステータスを通過する必要があります。
プロジェクトを完全に追跡するために、各ステータスが保持されるため、プロジェクトのステータスがいつ変更されたかがわかります。
現在のステータス(より最近の "created_at" を持つもの)で検索フィルターを作成したいと思います。
正しい結果を得るためにいくつかのクエリを試しましたが、これで行き詰まっています。
私が持っている機能しないクエリは
select p.* from projects p
left join projects_status_projects psp on psp.project_id = p.id
where p.id in (select project_id from projects_status_projects
where project_status_id = XX group by project_id order by created_at desc)
多くの場合、このクエリは機能せず、注文を考慮せずに project_status_id XX のレコードを持つ各プロジェクトを返します。
どんなヒントでも大歓迎です!
ありがとう、
ベンジャミン