offer と offer_rows の 1 対多の関係を持つ 2 つのテーブルがあります。
コンテンツ行を含む複数のオファーを取得したいと考えています。それ自体は難しくありません。
INNER JOIN on offer.offer_id = offer_rows.offer_id
ただし、offer_rows テーブルには、リビジョンと呼ばれるフィールドが含まれており、クエリは常にリビジョン番号が最も大きいすべての行をフェッチする必要があります。これは単一のクエリで可能ですか?
offer_revision という 3 番目のテーブルを追加することで、データベースの設計を変更できることに気付きました。このテーブルを選択条件で結合して、最新のリビジョン番号を取得し、このテーブルを行に接続できます。ただし、これにはかなりのリファクタリングが必要になるため、必要な場合にのみ実行したいと考えています。
また、これを直接クエリで実行したいと思います-ストアドプロシージャはありません。