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

ओरेकल में माता-पिता (किसी भी स्तर) का सबसे अधिक चाइल्ड नोड खोजें

"अधिकांश बच्चे नोड" से मुझे उम्मीद है कि आप पेड़ के पत्ते के नोड्स का मतलब है। आप CONNECT_BY_ISLEAF . के साथ लीफ नोड्स निर्धारित कर सकते हैं एक पदानुक्रम का छद्म स्तंभ (CONNECT BY ) क्वेरी।

तालिका में आपके नमूना डेटा को देखते हुए निम्नलिखित क्वेरी वांछित परिणाम देती है:

select connect_by_root id id
     , parent_did
  from table1
 where connect_by_isleaf = 1
connect by id = prior parent_did
  start with id in ('a','b','c');

| ID | PARENT_DID |
|----|------------|
|  a |          f |
|  a |          g |
|  a |          h |
|  b |          f |
|  b |          g |
|  b |          h |
|  c |          f |

SQL Fiddle

अपने अपडेट किए गए डेटा और आवश्यकताओं को ध्यान में रखते हुए इस तथ्य को शामिल करते हुए कि एक दूसरी तालिका में ए, बी, और सी को प्रारंभ शर्तों के रूप में रखा गया है:

select connect_by_root parent_id parent_id
     , id
  from table1
 where connect_by_isleaf = 1
connect by prior id = parent_id
  start with parent_id in (select id from table2)

| PARENT_ID | ID |
|-----------|----|
|         a |  f |
|         a |  g |
|         a |  h |
|         b |  f |
|         b |  g |
|         b |  h |
|         c |  f |

SQL Fiddle आप श्रेणीबद्ध प्रश्नों के बारे में दस्तावेज़ीकरण से अधिक जान सकते हैं। ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या Oracle DB प्रति कनेक्शन एकाधिक (समानांतर) संचालन का समर्थन करता है?

  2. Oracle क्लाउड प्लेटफ़ॉर्म पर Oracle डेटाबेस 12c के साथ Oracle JDeveloper 12c का उपयोग करना, भाग 1

  3. sysdate-30 और sysdate+30 के बीच सभी तिथियों की सूची कैसे उत्पन्न करें?

  4. क्वेरी Oracle 11g पर काम करती है लेकिन Oracle 8i पर विफल हो जाती है

  5. Php oracle क्लाइंट oci8 की स्थापना में क्या गलत है?