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

मेरी एसक्यूएल एकाधिक श्रेणी-उपश्रेणी-उपश्रेणी

अपनी टेबल को इस तरह से स्ट्रक्चर करें:

Id   Category    ParentId
1     Jewelry     NULL
2     Body          1
3     nose ring     2
4     arm ring      2
5     ear ring      2
- 
-

इसे सेल्फ-रेफरेंसिंग टेबल यानी ParentId . कहा जाता है कॉलम में या तो NULL होता है या Id . से मान एक ही टेबल का कॉलम।

इसलिए जब भी आपको सभी प्रत्यक्ष subcategories को जानना होगा किसी दिए गए category . का , आप बस एक क्वेरी बनाएं जैसे:

   Select * from CategoryMaster where ParentId = 2;

ऐसा करने से आपको उप-श्रेणी Body . के लिए सभी उप-श्रेणियां मिल जाएंगी ।

अब, इस डेटा-संरचना के बारे में सबसे अच्छी बात यह है कि आपके पास किसी भी उप-श्रेणी के लिए उप-श्रेणियों के n-स्तर हो सकते हैं और 3 कॉलम (कम से कम) के साथ एक ही तालिका होगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Google BigQuery में हज़ारों श्रेणियों के लिए डमी वैरिएबल कॉलम कैसे बनाएं?

  2. MySQL IN क्वेरीज़ सबक्वेरी के साथ बहुत धीमी लेकिन स्पष्ट मानों के साथ तेज़ हैं

  3. मैं Doctrine2 में MySQL गिनती (*) कैसे करूं?

  4. सुपर विशेषाधिकार के बिना सरल MySQL फ़ंक्शन नहीं बना सकता

  5. विदेशी कुंजी बनाने में MySQL सिंटेक्स