Jak przeszukiwać dane graficzne / hierarchiczne w mysql
Załóżmy, że mam tabelę obiektów ułożonych w hierarchię:
A
|--B
|--C
| +--D
+--E
Są one przechowywane w tabeli „rodzic-dziecko”, a zatem:
parent child
A B
A C
C D
A E
Jak zapytać o to, aby uzyskać strukturę zdefiniowaną powyżej? Myślę, że potrzebuję czegoś, co wytwarza takie informacje:
object full_path
A NULL
B A
C A
D A.C
E A
Nie wiem, jak zrobić obiekty zagnieżdżone głębiej niż jeden poziom. Wydaje mi się, że muszę iterować po tabeli (nie mam pojęcia, czy jest to możliwe w SQL), czy w inny sposób użyć jakiegoś zapytania, którego nigdy wcześniej nie spotkałem.
Dodatkowe informacje:
A nie musi być jedynym obiektem osieroconym.Dzieci mogą mieć wielu rodziców, ALE na razie jestem zadowolony z odpowiedzi na dowolny scenariusz, który jest łatwiejszy do rozwiązania. Mogę z łatwością przekształcić strukturę wielu rodziców w jednego rodzicaGROUP BY
iMIN
komunikat.