दिलचस्प पोस्ट
घटक निर्माण – एक साथ घटक जोड़ना? ओरेकल 10 जी फ़ॉर्म का उपयोग कर ईमेल कैसे भेज सकते हैं अजगर पांडा – कॉलम के नाम के आधार पर डेटाफ्रेम में पुनः क्रम वाले स्तंभ दो डुप्लिकेट को घुमाने के दो प्रेतों की टकराव का पता लगा रहा है पाठ के बीच का अंतर कैसे बढ़ाएं और सीएसएस में अधोरेखण कैसे करें कैसे एक सूची का आदेश दिया है की जांच करने के लिए? सी # जेनेरिक टाइमआउट को कार्यान्वित करें एनिमेटेड जीआईएफ़ एमकेऑपरलेरेन्डरर का उपयोग करके एमकेएमपिव्यू ओवरले में काम नहीं कर रहा है एंड्रॉइड होम स्क्रीन विजेट (आइकन, लेबल शैली) विंडोज़ फोन के लिए स्थानीय एसक्यूएल डेटाबेस समर्थन 7 एक संग्रहीत कार्यविधि का उपयोग करके SSRS बहु-मान पैरामीटर पता लगाएँ कि stdin एक टर्मिनल या पाइप है? उनके उदाहरण के लिए Google नक्शा ड्राइविंग दिशा स्रोत कोड है? सी # में स्थानीयकरण का उपयोग कैसे करें तत्व -मोज-ट्रांस्फ़ॉर्म प्राप्त करें: jQuery में रोटेट वैल्यू

एक पुनरावर्ती वृक्ष बनाने के लिए पंक्तियों को पार करने के लिए MySQL क्वेरी का उपयोग करना

मेरे पास सामग्री सारणी का एक बिल है जिसे इस तरह सेट किया गया है:
आइटम – अभिभावक

अंतिम परिणाम जब मैं सामग्री के बिल को प्रदर्शित करता हूं यह ऐसा प्रदर्शित होता है:

item 1 - parent 0 item 2 - parent 1 item 3 - parent 1 

अंतिम परिणाम भी इस तरह के बहु स्तर हो सकते हैं:

 item 3 - parent 0 item 4 - parent 3 item 76 - parent 3 

और यह विज्ञापन अनन्ततम पर जा सकता है:

 item 76 - parent 0 item 46 - parent 76 item 46 - parent 0 item 25 - parent 46 

अभी, मुझे या तो डेटाबेस से 1 स्तर मिलता है:

SELECT * FROM bom WHERE parentId = $itemId (shorthand)

या हर पंक्ति को तालिका से खींचें और मेरी रिकर्सिव फ़ंक्शन का उपयोग केवल उन लोगों को ठीक करने के लिए करें जो मुझे चाहिए, लेकिन यह स्पष्ट रूप से अक्षम है क्योंकि मुझे केवल 10 पंक्तियों की ज़रूरत है, लेकिन मैं 10,000 रिकॉर्ड खींच सकता हूं। रिकर्सिव फ़ंक्शन के आउटपुट सिर्फ इस तरह एक पेड़ बनाएगा:

 item 1 item 2 item 3 item 4 item 76 item 46 item 25 

मुझे सिर्फ इतना पता है कि मैं आइटम 1 से शुरू कर रहा हूं। आइटम 5 में 11 के माता-पिता हो सकते हैं; उन्हें अनुक्रमिक नहीं जाना है मैं पेड़ में सभी बाल शाखाओं को प्राप्त करना चाहता हूं। मैं इस क्वेरी को mysql में कैसे कर सकता हूं?

Solutions Collecting From Web of "एक पुनरावर्ती वृक्ष बनाने के लिए पंक्तियों को पार करने के लिए MySQL क्वेरी का उपयोग करना"

24 अक्टूबर, 2011 को वापस, किसी ने डीआईबीए स्टैकएक्सchange में एक प्रश्न पोस्ट किया है, जो कि मैक्स SQL ​​में पेड़ के पेड़ के बारे में है । MySQL के लिए एसक्यूएल इसे समर्थन नहीं कर सकता।

मैंने उस प्रश्न के उत्तर में तीन (3) संग्रहित प्रक्रियाएं ( GetParentIDByID, GetAncestry और GetFamilyTree ) लिखी हैं आशा है कि यह जानकारी आपको उस चीज़ का निर्माण करने में सहायता करती है जो आप देख रहे हैं।

बिल करविन ने MySQL में पदानुक्रम डेटा के बारे में एक स्लाइड शो पोस्ट किया है। अगर अपना डेटाबेस डिज़ाइन बदलना एक विकल्प है, तो आपके डेटा को स्टोर करने के कुछ अन्य आकर्षक तरीके क्वेरी को आसान बनाने के लिए हैं। वह शामिल किए गए दृष्टिकोण हैं:

  • स्थिरता सूची
  • पथ की गणना
  • नेस्टेड समूह
  • क्लोजर टेबल

स्लाइड 69 में एक अच्छी मेज है जो प्रत्येक पद्धति के पेशेवरों और विपक्ष को दिखाती है, इसलिए मेरा सुझाव है कि आप पहले यह स्लाइड देखने के लिए कि कौन सा दृष्टिकोण आपके लिए काम करेगा, फिर वापस जाएं और इसे कैसे लागू करें के विवरण देखें। ध्यान दें कि आपने जिस डिज़ाइन को चुना है (आसन्न सूची) वह चार डिज़ाइनों में से एक है, जो उप-प्रैरी को पूछना कठिन बनाता है

अगर आप अपना डिजाइन बदल नहीं सकते हैं या आप आसन्न सूची के साथ रहना चाहते हैं तो मुझे डिडिएयर से सहमत होना है कि आपको क्वॉस्नोई के आलेख "मायएसक्यूएल में पदानुक्रमित क्वेरी" पर एक नज़र रखना चाहिए। यह एक बहुत स्पष्ट लेख है और यह बताता है कि क्वेरी को कुशलता से कैसे लिखना है।

AFAIK, यह MySQL के साथ ऐसा करने के लिए तुच्छ नहीं है

यहां इसके बारे में लेखों का एक अच्छा सेट है:

http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/