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

mysql में एक ही प्रश्न के साथ बाल श्रेणी का मूल नाम प्राप्त करना

तालिका में स्वयं शामिल हों , parent . का उपयोग करके पैरेंट के cat_id से लिंक करने के लिए कॉलम।

SELECT c1.cat_id as childID, c1.cat_name ChildName, c2.cat_name as ParentName
from category c1
LEFT OUTER JOIN category c2
ON c1.parent = c2.cat_id
  • सावधान रहें:चूंकि कुछ तत्वों के माता-पिता नहीं होते हैं (NULL ), मैं एक LEFT OUTER JOIN put डालता हूं तो उन पंक्तियों को भी प्रदर्शित किया जाता है। यदि आप ऐसा नहीं चाहते हैं, तो JOIN . का उपयोग करें इसके बजाय LEFT OUTER JOIN
  • आप लाइनें भी दिखा सकते हैं, लेकिन NULL के बजाय कुछ और (खाली या टेक्स्ट या ...) प्रदर्शित कर सकते हैं COALESCE . का उपयोग करके ।
  • आप परिणाम को एक (बड़ी) नई तालिका के रूप में मान सकते हैं, ताकि आप आमतौर पर WHERE क्लॉज़ जोड़ सकें, उदाहरण के लिए मूल नाम पर फ़िल्टर करना:WHERE c2.cat_name = 'test2'


  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

  2. पीडीओ का उपयोग करके त्रुटि प्रबंधन के लिए सर्वोत्तम अभ्यास

  3. Group_concat का उपयोग करने वाली क्वेरी केवल एक पंक्ति लौटा रही है

  4. MySQL डेटाबेस से कनेक्ट करना

  5. कैसे जांचें कि एक कॉलम में स्ट्रिंग मान आंशिक रूप से SQL का उपयोग करके दूसरे कॉलम के स्ट्रिंग मान में निहित है या नहीं?