内部クエリを実行せずにこのクエリを実行しようとしていますが、レコードを正しく取得できないようです。最新のログを含むレコードを選択
私は2つのテーブル(命名規則は、読みやすくするために変更された)...
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テーブルから選択する必要がありますか?
はい、この質問は例外的にStackOverflowでよく起こります。これは今日の2番目のものです。確かに、これは最も論理的で直接的な方法です。 –
これはうまくいっていますが、単一のレコードしか得られないでしょう。なぜ100%ではないのでしょうか? – jyoseph