タイトルの通り
6テーブルのジョイントクエリは現在、このように左結合b左結合c左結合d左結合e左結合fを使用しています
テーブル内の各レコードが次の場所でのみ検索できるようにするためbcedf テーブルのほとんどの 1 つのレコード 対応するには、いくつかの条件を追加する必要があります
しかし、where f.aaa in (0,1,2,3) などの制限を追加すると、クエリの結果は、f に対応するレコードを持つすべての結果になります。 table
becdf テーブルに対応するレコードがない場合でも、f テーブルができることを願っています
また、そのような条件が追加されたとしても、そこにあると仮定します。 becdf テーブルにはまだ多くのエントリがあります。f などの SQL ステートメントを制限できますか? テーブル A のレコードが結果に繰り返し表示されないようにするために、テーブル内の最新のエントリのみがチェックされます。
6 つのテーブル接続を通じて結果をクエリする必要があります。テーブルの設計に問題があると考えられます。 最初に関連するキーを押して、複数の遷移テーブルを形成し、テーブル間の影響を軽減できます。
リアルタイムのレポートを生成する必要があるため... 多くの作業が必要です...
1. 上で述べたように、クエリを実行するときは、まず遷移テーブルを生成し、次に遷移テーブルをクエリします
2 、元の不合理な設計をビューを介した合理的な設計、ビューをクエリします
解決済み f.id が null を追加しました