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

MySQL डेटाबेस में लिंक की गई सूची लाई जा रही है

डेटाबेस के कुछ ब्रांड (जैसे Oracle, Microsoft SQL Server) "रिकर्सिव क्वेश्चन" चलाने के लिए अतिरिक्त SQL सिंटैक्स का समर्थन करते हैं लेकिन MySQL ऐसे किसी भी समाधान का समर्थन नहीं करता है।

आप जिस समस्या का वर्णन कर रहे हैं वह SQL डेटाबेस में वृक्ष संरचना का प्रतिनिधित्व करने जैसा ही है। आपके पास बस एक लंबा, पतला पेड़ है।

RDBMS से इस प्रकार की डेटा संरचना को संग्रहीत करने और लाने के लिए कई समाधान हैं। निम्नलिखित में से कुछ प्रश्न देखें:

चूंकि आप उल्लेख करते हैं कि आप क्वेरी द्वारा लौटाई गई "गहराई" को सीमित करना चाहते हैं, आप इस तरह से सूची को क्वेरी करते हुए इसे प्राप्त कर सकते हैं:

SELECT * FROM mytable t1
 LEFT JOIN mytable t2 ON (t1.next_id = t2.id)
 LEFT JOIN mytable t3 ON (t2.next_id = t3.id)
 LEFT JOIN mytable t4 ON (t3.next_id = t4.id)
 LEFT JOIN mytable t5 ON (t4.next_id = t5.id)
 LEFT JOIN mytable t6 ON (t5.next_id = t6.id)
 LEFT JOIN mytable t7 ON (t6.next_id = t7.id)
 LEFT JOIN mytable t8 ON (t7.next_id = t8.id)
 LEFT JOIN mytable t9 ON (t8.next_id = t9.id)
 LEFT JOIN mytable t10 ON (t9.next_id = t10.id);

यह गुड़ की तरह प्रदर्शन करेगा, और परिणाम सभी एक पंक्ति (प्रति लिंक्ड सूची) पर वापस आ जाएगा, लेकिन आपको परिणाम मिल जाएगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक प्रश्न में एएनएसआई 1992 जॉइन और कॉमा को मिलाना

  2. जावा को एक MySQL डेटाबेस से कनेक्ट करें

  3. MySQL क्वेरी में ORDER BY और LIMIT को कैसे प्रोसेस करता है?

  4. दूसरा उच्चतम वेतन सर्वोत्तम संभव तरीके खोजें

  5. RHEL, Rocky और AlmaLinux में MySQL प्रतिकृति को कैसे सेटअप करें?