MySQL के साथ, मेरे द्वारा ऐसा करने का सबसे आसान तरीका सभी . को स्टोर करना है पेड़ में पथ, एक संक्रमणीय बंद बनाना ।
table_children
parent child
0 0
1 1
2 2
3 3
4 4
0 1
0 2
0 3
0 4
1 2
1 3
1 4
3 4
अब आप इसे इस प्रकार क्वेरी कर सकते हैं:
SELECT t.*
FROM table_children c
JOIN table t ON c.child = t.id
WHERE c.parent = 0;
यह भी देखें:
- एक फ्लैट टेबल को ट्री में पार्स करने का सबसे कुशल/सुरुचिपूर्ण तरीका क्या है?
- एसक्यूएल और पीएचपी के साथ पदानुक्रमित डेटा के लिए मॉडल
- SQL Antipatterns:डेटाबेस प्रोग्रामिंग के नुकसान से बचना