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

मैं एक SQL क्वेरी में मनमानी रिकर्सन गहराई के लिए पूर्वजों की आईडी कैसे प्राप्त कर सकता हूं?

SELECT c.id, b.id, a.id 
FROM T 
INNER JOIN T AS c on T.parent_id=c.id 
INNER JOIN T AS b ON c.parent_id = b.id 
INNER JOIN T as a ON b.parent_id = a.id

अपनी तालिका का नाम टी मानते हुए। हालांकि परीक्षण नहीं किया गया। सुनिश्चित नहीं है कि क्या होता है यदि डी के तीन माता-पिता नहीं हैं, शायद आपको कोई चीज़ नहीं मिलती है, उन मामलों के लिए बाएं जॉइन को महान माता-पिता के लिए पूर्ण मान प्राप्त करने का प्रयास कर सकते हैं। साथ ही, अंतिम जॉइन वास्तव में आवश्यक नहीं है क्योंकि आप a.id के बजाय बस b.parent_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. ट्रिगर में नवीनतम सम्मिलित आईडी प्राप्त करें?

  2. डेटा लोड करें:अमान्य ut8mb4 वर्ण स्ट्रिंग

  3. mysql ft_stopword_file को हटाने के बाद कोई परिणाम नहीं मिला

  4. कॉन्फ़िगरेशन और लाइब्रेरी फ़ाइलों के साथ MySQL को पूरी तरह से कैसे हटाएं?

  5. पायथन के साथ MySQL प्रारूप में परिणाम प्रिंट करें