Я пытаюсь выполнить этот запрос, не выполняя внутренний запрос, но, похоже, не могу правильно получить записи.
У меня есть две таблицы (соглашение об именах изменено для удобства чтения) ...
report
report_id
name
report_status_log
report_id
code
timestamp
Отчет может иметь несколько журналов состояния.Я пытаюсь получить все отчеты, где самый последний report_status_log равен определенному коду.
Это не сработает ...
select report.id
inner join report_status_log on report.report_id = report_status_log.report_id
where report_status_log.code = 'finished'
... потому что хотя 'закончено'может быть в журналах состояния, это не всегда самая последняя запись журнала.
Есть ли способ сделать это?Или я должен выбирать из таблицы report_status_log вместо таблицы отчетов?