AA、BB、CC の 3 つのテーブルがあります。BB と CC には、テーブル AA への 1 対 1 のマッピングがあります (両方のテーブルで外部キー列: aa_id を使用)。BB または CC のいずれかのみがテーブル AA の行を参照できるという 1 つの条件が提供されます。
BBまたはCCと結合するAAから最新の1000行を選択したいと思います。BB と CC に結合する 500 行を個別に選択して 1000 を作成するクエリを個別に実行できます。ただし、これは AA テーブルから最新の 1000 行を取得することを保証するものではありません。
そこで、BB と CC を同時に結合して AA からレコードを選択する次のクエリを思いつきました。しかし、私の制限(BB または CC のみがテーブル AA の行を参照できる) により、以下のクエリから 0 行を取得しています。
SELECT * FROM AA
INNER JOIN BB ON (
AA.id = BB.aa_id
AND SOME_CONDITION
)
INNER JOIN CC ON (
AA.id = CC.aa_id
AND SOME_CONDITION
)
ORDER BY
AA.id DESC limit 1000;
これを行う方法を教えてください。これら 2 つの JOIN 条件を OR できる方法はありますか?