假设我有一个层次结构的对象表:
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 中是否可行),或者使用我以前从未遇到过的某种查询。
附加信息:
- A 不必是唯一的孤立对象。
- 孩子们可能有多个父母,但现在我很高兴能找到更容易解决的方案。
GROUP BY
我可以通过简单的andMIN
语句将多父结构转换为单父结构。