を繰り返さないようにします。 は左外側継手を介したクエリに追加されたデータは、私は3つの階層データのレベルとオプションの4つ目のデータ・レベルを持つデータベース構造(以下ERダイアグラムを)持って
Iは、三つのレベルのデ正規化されたデータを取得するクエリを作成する場合 - として、以下に示す3つのテーブルを横切ってサンプルデータとレベル3にレベル1:照会する
このデータのレイアウトは、以下のように非常に単純であり、期待通りです。
以下のクエリを実行すると、私は、次の出力を取得する(そして、私はL4とL1のセットをクラブにし、別のクエリのような1つL4を移動した後、設定されたL1を接合することによって様々な組み合わせを試してみました - L4等) - これもまた予想通りです。
SELECT [Group].GroupId, [Group].GroupName, Category.CategoryId, Category.CategoryName, RLI.RLIId, RLI.RLIText, Comment.CommentId, Comment.CommentText, ManagementResponse.ManagementResponseId,
ManagementResponse.ManagementResponseTest
FROM Category INNER JOIN
[Group] ON Category.GroupId = [Group].GroupId INNER JOIN
RLI ON Category.CategoryId = RLI.CategoryId LEFT OUTER JOIN
ManagementResponse ON RLI.RLIId = ManagementResponse.RLIId LEFT OUTER JOIN
Comment ON RLI.RLIId = Comment.RLIId
しかし、私は次の形式でデータを必要とする - これは私が(私はレベル4のデータは、私として繰り返したくはありません取得する方法を見つけ出すことができませんものです)に参加する左外側を経由して、追加のレベル4のデータを追加します。
をuが、内側しようとしなかった代わりに、左の参加加入? –
レベル4のデータはオプションであるため、内部結合がどのように解決されるかは不明です。内部結合により、上位レベルのデータが失われます。 –
'CommentId'と' ManagementResponseId'が意図的に出力されているか、偶発的に出力されていますか? – Caleth