Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL - क्या सभी उप-वस्तुओं को पदानुक्रम में प्राप्त करना संभव है?

यह सिर्फ एक आसन्नता मॉडल है मेज़? फिर अधिकतम गहराई को जाने बिना एक प्रश्न में यह संभव नहीं है।

विचार के लिए भोजन है 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>;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डेटा से XML फ़ाइलें बनाने के लिए PHP DOM का उपयोग करना

  2. TO_DAYS () उदाहरण – MySQL

  3. mysql डेटाबेस में एक्सेल डेटा आयात करना

  4. MySQL SELECT n GROUP BY पर आधार रिकॉर्ड करता है

  5. जावास्क्रिप्ट के माध्यम से MySQL क्वेरी पास करना