結合されたテーブルの最新の行を取得する方法について、この回答の指示に従おうとしています。
2つのテーブルがあります。
Projects : id, title
Status : project_id, status_id, created(DATETIME)
プロジェクトIDがわかっている場合(例= 2)、最新のステータス更新を選択するための正しいクエリがあります。
SELECT projects. * , project_state_project_map.status_id AS status,
project_state_project_map.created AS status_created
FROM projects
LEFT JOIN (
SELECT *
FROM project_state_project_map
WHERE project_id = 2
ORDER BY created DESC
LIMIT 1
)
project_state_project_map ON project_state_project_map.project_id = projects.id
WHERE projects.id = 2
LIMIT 1
ただし、現在の状態ですべてのプロジェクトを選択する方法がわかりません。すべてのプロジェクトを最新の状態にするには、SQLに何を変更する必要がありますか。