mysql - recursive self query -


मेरे पास निम्न तालिका है:

  myTable: + ---- + - -------- + | आईडी | माता-पिता | + ---- + ---------- + | 1 | रिक्त | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 4 | -----------------  

मैं सभी पंक्तियों को वापस पहचाना चाहूंगा जब तक कोई माता पिता नहीं हो। तो ".... WHERE id = 5" मुझे देना होगा:

  5, 4, 2, 1  

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

कुछ डीबीएमएस, जैसे कि SQL Server 2005, पोस्टग्रेस 8.4 और ओरेकल 11 जी, के साथ प्रयोग करके रिकर्सिव क्वेरी का समर्थन करता है कीवर्ड।

MySQL के लिए, आपको निम्नलिखित लेख को चुनौती देने में दिलचस्पी हो सकती है जिसमें एक वैकल्पिक मॉडल (ए) का वर्णन होता है, जो पुनरावर्ती संचालन को आसान (संभव) बनाता है:

< उल>
  • इसके अलावा, मैं सुझाव भी देता हूं कि ऊपर की टिप्पणियों में बताया गया है। वर्णित समापन तालिका मॉडल नेस्टेड सेट का एक बहुत मान्य विकल्प है।


    Comments