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

स्व-संदर्भित तालिकाओं से पदानुक्रम डेटा प्राप्त करना

यदि डेटाबेस SQL ​​2005/2008 है तो...

इसे प्राप्त करने का सबसे आसान तरीका एक सीटीई (कॉमन टेबल एक्सप्रेशन) का उपयोग करना है जिसे रिकर्स करने के लिए डिज़ाइन किया गया है।

 WITH myCTE (Item_id, Depth)
 AS
 (
    Select Item_ID, 0 as Depth From yourTable where Item_Parent=0
    Union ALL
    Select yourTable.Item_ID, Depth + 1 
    From yourTable 
    inner join myCte on yourTable.item_Parent = myCte.Item_Id
 )

 Select Item_id, Depth from myCTE

आउटपुट इस प्रकार है:

Item_Id  Depth
    1   0
    2   0
    3   1
    4   1
    5   2

इससे आप इसे अपनी इच्छानुसार फ़ॉर्मेट कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php और mysql एक टेबल से दूसरी टेबल पर कॉपी रिकॉर्ड करते हैं

  2. mysqldump:निष्पादित नहीं किया जा सका। info_schema में अज्ञात तालिका 'column_statistics'

  3. MySQL में न्यूज़लेटर के लिए डेटाबेस डिज़ाइन करने के लिए मार्गदर्शिका

  4. MySQL SELECT * क्वेरी को समानांतर में निष्पादित करना

  5. वर्तमान आइटम आईडी के आसपास N पिछला और M अगला आइटम चुनें