私は SQL Server 2012 を使用しており、タプルに特定の条件を持つ親を返すために、再帰的な SQL クエリを作成して (同じテーブルで) 階層を遡る必要があります。
このサンプルSQL Fiddleを再帰 CTE でセットアップしましたが、頭がいっぱいです。
ReportingLocationId int
必要なのは、セットを持つ階層の親 ID として定義されている 4 番目の列 ( ) を返せるようにすることIsReportingRollup bit
です。
したがって、行 1 の場合、これは null になり、行 2、3、および 4 の場合、これは 2 として設定されます。同様に、行 5、6、7 の場合、これは 5 として設定されます。