1

イブニング・オール、

私はしばらくこれに取り組んできましたが、何らかの理由で、ロジックを期待どおりに返すことができないようです。

3 つのデータ テーブルと 3 つのビジネス コンセプト リンク テーブルがあります。

  • 表1
  • 表2
  • 表3

ルール:

  • 表 1 は表 2 にリンクできます
  • 表 1 は表 3 に直接リンクできます
  • 表 1 は、表 2 を介して表 3 に間接的にリンクできます。

テーブル構造 かなりの数のバリエーションを試しましたが、レコードが切り捨てられているようです。

SELECT
    *
FROM
            Table1          T1
INNER JOIN  Table1_to_Table2_Link   L1  on L1.T1_ID = T1.ID
RIGHT JOIN  TABLE2          T2  ON L1.T2_ID = T2.ID
INNER JOIN  Table2_to_Table3_Link   L2  ON L2.T2_ID = T2.ID
Right JOIN  Table3          T3  ON L2.T3_ID = T3.ID
INNER JOIN  Table1_to_Table3_Link   L3  on T1.ID = L3.T1_ID

説明するのは少し厄介ですが、要約すると、テーブル 1 のすべてのデータと、テーブル 1 に直接/間接的に関連している場合は、テーブル 2 と 3 のデータのみが必要です。テーブル 2 と 3 は必ずしも関連している必要はありません。ビジネス コンセプトです。

期待されるリターンは次のとおりです。 ここに画像の説明を入力 ご協力をお願いいたします。

4

1 に答える 1