階層構造のオブジェクトのテーブルがあるとします。
A
|--B
|--C
| +--D
+--E
したがって、これらは「親子」テーブルに格納されます。
parent child
A B
A C
C D
A E
これをクエリして、上記で定義された構造を取得するにはどうすればよいですか?私はこのような情報を生み出す何かが必要だと思います:
object full_path
A NULL
B A
C A
D A.C
E A
複数のレベルの深さでネストされたオブジェクトを実行する方法がわかりません。テーブルを反復処理する必要があるように感じます(SQLでこれが可能かどうかはわかりません)。そうでなければ、これまでに遭遇したことのない種類のクエリを使用する必要があります。
追加情報:
- 唯一の孤立したオブジェクトである必要はありません。
- 子供には複数の親がいる可能性がありますが、今のところ、どちらのシナリオでも解決しやすい答えに満足しています。
GROUP BY
単純なMIN
ステートメントを使用して、複数の親の構造を単一の親に変換することを順守できます。