このようなリストを持つテーブルがあります
参考文献
R. Name LineNo. References
A 1.1 (B,24.1)
A 6.3 (A, 1.3), (D, 22.1)
B 23.1 (A. 1.2)
B 24.1 (B,23.1)
C 2 (A, 1.1)
D 3.12 (A, 6.3)
クエリはレコードを 1 つずつ実行し、参照に基づいて値を生成する必要があります。最初の 1 つを選択します。たとえば、レポート名 A、行番号 1.1 です。参照は (B, 24.1) です。これは、必要なことを意味します。レポート名 B の 24.1 行目を見つけて、その値を選択します。同じテーブル R.名前 B と行番号 B, 24.1 は (B, 23.1) によって参照されています. では, レポート名 B, 行番号 23.1 を見つける必要があります.つまり、最後に見つけられなかったテーブルが別のテーブルに値を持っていることを意味します。(この表には値のない参照のみが含まれています) ...下の表を見てください
表:生成された値
R.Name LineNo. Values
----------------------------------------
A 1.2 5632
A 1.3 12.5
A 2.1 25
A 2.2 121
A 2.3 8
A, 1.1 参照 B, 24.1 B, 23.1 を参照 A, 1.2 そして、A, 1.2 は参照テーブルに存在しないため、別のクエリが実行され、生成された値テーブルから数値が取得されます。この場合は 5632 なので、A は 1.1 = 5632 です。
このように、各レコードを 1 つずつ調べていきます。
私の問題は、これを実装するために再帰クエリを作成する方法がわからないことです。
フセイン