私のテーブル構造には、階層を作成するためにテーブルの Id にマップできる null 許容 ID フィールド ParentId があります。ParentId は null 可能です。親データで Id を取得できるようにしたいのですが、親が null であるすべてのデータが必要です。しかし、親がnullではない行が2倍返されることは望ましくありません。
これにはどのタイプの結合を使用できますか?
以下は、私が返したいものの例です:
Id 1 ParentId 2 -> ID 2 ParentId Null
Id 3 ParentId Null -> NULL
ParentId に ID がある場合は、行として返されるのではなく、スキップされることに注意してください。以下は Id 2 が 2 回含まれているため誤りです。左側のアイテムとしてではなく、右側にのみ含める必要があります。
Id 1 ParentId 2 -> ID 2 ParentId Null
Id 2 ParentId Null
Id 3 ParentId Null