यह सिर्फ एक आसन्नता मॉडल है मेज़? फिर अधिकतम गहराई को जाने बिना एक प्रश्न में यह संभव नहीं है।
विचार के लिए भोजन है MySQL में पदानुक्रमित डेटा प्रबंधित करना (हालांकि मैं नेस्टेड सेट मॉडल . का उपयोग करने की वकालत नहीं करता हूं डेटा के लिए जो नियमित रूप से बदलते रहते हैं)।
बहुत से (बाएं) जुड़ने के साथ, अधिक विशेष रूप से:पेड़ की अधिकतम गहराई के रूप में जितने बाएं जुड़ते हैं, यह एक प्रश्न में संभव होगा। यही कारण है कि बहुत से लोग एक विशिष्ट श्रेणी की 'गहराई' को सहेजते हैं, इसलिए आप एक ही तालिका में शामिल होने की मात्रा को अधिक समझदार राशि तक फ़िल्टर और सीमित कर पाएंगे।
व्यक्तिगत रूप से, नियमित रूप से डेटा बदलने के लिए:मैं एक इंसर्ट/अपडेट पर एक ट्रिगर कॉन्फ़िगर करता हूं, जो आईडी के आधार पर नोड के वर्तमान 'पथ' को सहेज/कैश करेगा (उदाहरण के लिए:पथ '12/62/28/345' है ', जिसमें हर कदम सीमांकक के बीच /
सही क्रम में पैरेंट नोड की प्राथमिक कुंजी है (345 के माता-पिता 28 हैं, 28 के माता-पिता 62 हैं, आदि)), इसलिए मैं इसे इस तरह से केवल एक जॉइन के साथ पूछ सकता हूं (/ विभाजक के रूप में उपयोग किया जाता है):
SELECT j.*
FROM tablename o
JOIN tablename j
WHERE j.path LIKE CONCAT (o.path,'/%')
AND j.id != o.id -- skip parent asked for.
WHERE o.id = <the id of the node you're looking for>;