0

みなさん、良い一日を!私はグラフを持っています。まず、単純な再帰選択を作成する方法を知っています。msdnに関する情報を読みました。

これは私のサンプルグラフです
この画像では、(たとえば) 番号 0 のグラフの一番上のノードがノード番号 1 に影響を与えていることがわかります ((2->4)、(3->4)、(4->5)、など)。 (5->6), (1->5))

TASK:すべてのノードについて、それが影響するノードを表示します。たとえば、1 番は 5 番と 6 番に影響します。

結果の SQL は、次のようなものを返す必要があります。

 who_acts| on_whom_influence 
 0       | 1
 0       | 5
 0       | 6
 1       | 5
 1       | 6
 2       | 4
 2       | 5
 2       | 6
 3       | 4
 3       | 5
 3       | 6
 4       | 5
 4       | 6
 5       | 6

CTE のアンカー メンバーを使用して取得できる開始データは次のとおりです。

who_acts| on_whom_influence 
2       | 4
3       | 4
4       | 5
5       | 6
1       | 5
0       | 1

SQL 構文と再帰的選択を使用してこの選択を行うことはできますか? どうすればいいですか?

4

1 に答える 1