mysql クエリ ステートメントについて質問を続けます: マルチテーブル ジョイント クエリ、右側のテーブルを制限して特定の where 制限を追加するか、対応するレコードがある場合は制限を制限する方法、そうでない場合は制限はありません
タイトルの通り
6 テーブルの結合クエリ、現在はまだこのように左結合 b 左結合 c 左結合 d 左結合 e 左結合 f を使用しています
a 内の各レコードを確実にするにはテーブルでは、bcedf テーブル内で対応関係を 1 つしか見つけることができません。いくつかの追加が必要です。条件
ですが、where f.aaa in ( 0 ,1 ,2 ,3) などの制限を追加すると、クエリの結果は は f テーブルに対応するレコードを持つすべてのレコードです
f テーブルに対応するレコードがないレコードを見つけられるようにしたいです ステートメントを変更するにはどうすればよいですか?
このような条件を追加した場合でも、becdf テーブルにはまだ複数のレコードが存在します。この SQL ステートメントをテーブル f の最新のレコードのみをチェックするように制限できますか。
-----解決策のアイデア--- -------
A結果は 6 つのテーブル接続を通じてクエリする必要があります。テーブルの設計に問題があると考えられます。
テーブル間の影響を軽減するために、最初に関連付けられたキーを複数の遷移テーブルから押すことができます。 -----解決策のアイデア-----------
6 テーブル クエリ、これはどのくらいの大きさのデカルト積を生成しますか?私は行き詰まっています
-----解決策のアイデア----------------
1.上記では、クエリ時に最初に遷移テーブルが生成され、次に遷移テーブルがクエリされます2. 元の無理な設計がビューによって変更され、合理的な設計に変わり、ビューに対してクエリが行われます