この質問について、私はうまくいった答えを受け取りました。私は今、より良い構造が可能かどうか疑問に思っています。
2つのテーブルがあります。
Projects : id, title
Status : project_id, status_id, created(DATETIME)
プロジェクトのステータスを取得する時点で、プロジェクトIDを取得し、プロジェクトIDに基づいてステータステーブルから最新の行を取得します。この最新の行を取得するのは非常に面倒です。
スキーマをこれに変更する必要がありますか?
Projects : id, title, current_status_id(FK)
Status : id(PK), project_id, status_id, created(DATETIME)
次に、FKを使用してテーブルを結合し、最新のものを探すことなく、必要な行を取得できますか?
編集:
だから私はこのようなものが欲しい
SELECT * FROM projects
LEFT JOIN status on projects.id = status.project_id
WHERE projects.id = 1
ただし、ステータステーブルの最新のレコードのみが必要です。
編集2:
だから私はこのようなものが欲しい
SELECT * FROM projects
LEFT JOIN status on projects.id = status.project_id
ただし、返されたプロジェクトごとに、statusからそのproject_idの最新のステータスレコードのみを取得します。