SQL クエリのヘルプが必要です。次の簡単な例を作成して、実際の問題を再現しようとしました。
親テーブル:
id name parent_id
1 parent1 null
2 parent2 1
3 parent3 1
4 parent4 3
5 parent5 3
6 parent6 5
7 parent7 5
親族表:
id name parent_id
1 relative1 2
2 relative2 3
3 relative3 4
4 relative4 5
5 relative5 7
Parents テーブルには、親自身も持つ親のリストがあります。Relatives テーブルには、parent_id 列を持つ親戚のリストがあります。
親 3 のすべての「子孫」を含む親 3 のすべての親族を見つけるにはどうすればよいでしょうか。つまり、クエリは親族テーブルから次を返す必要があります。
relative2 (親 ID が 3 であるため)
relative3 (親 ID が 4 で、親 ID が 3 であるため)
relative4 (親 ID が 5 で、親 ID が 3 であるため)
relative5 (親 ID が 7、親 ID が 5、親 ID が 3 であるため)
私は SQL Server 2008 を使用しています。