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

पैरेंट और चाइल्ड टेबल में शामिल होने का सबसे अच्छा तरीका

चूंकि माता-पिता के पास उनमें से कुछ तालिकाओं में बाल पंक्ति हो सकती है, इसलिए आपको बाएं बाहरी जॉइन का उपयोग करना होगा।

LEFT OUTER JOIN, LEFT तालिका की सभी पंक्तियों को लौटाते हुए दो तालिकाओं में शामिल होता है, इस स्थिति में A और अन्य तालिकाओं से सभी मैच। जब कोई मिलान नहीं होता है तो यह तालिका के संबंधित कॉलम में NULL लौटाएगा कि कोई मिलान नहीं था।

SELECT *
FROM A
LEFT OUTER JOIN B
    ON A.Id = B.ParentID
LEFT OUTER JOIN C
    ON A.Id = C.ParentID
    LEFT OUTER JOIN P
        ON C.Id = P.ParentID
    LEFT OUTER JOIN Q
        ON C.Id = Q.ParentID
LEFT OUTER JOIN D
    ON A.Id = D.ParentID
LEFT OUTER JOIN E
    ON A.Id = E.ParentID
LEFT OUTER JOIN F
    ON A.Id = F.ParentID
    LEFT OUTER JOIN X
        ON F.Id = X.ParentID
    LEFT OUTER JOIN Y
        ON F.Id = Y.ParentID
LEFT OUTER JOIN G
    ON A.Id = G.ParentID

संपादित करें

मैंने सबचाइल्ड जोड़ने का एक तरीका जोड़ा है। मैंने उन्हें केवल एक दृश्य प्रतिनिधित्व में स्पष्ट करने के लिए और अधिक इरादा किया है। लेकिन सावधान रहें... अगर यह उप-बच्चों के लिए अन्य उप-बच्चों आदि की ओर ले जाता है, तो शायद आपकी संरचना इष्टतम नहीं है।



  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. भौतिक स्टैंडबाय डेटाबेस में एमआरपी में ORA-01111

  3. चीनी प्रतीकों को oracle DB . में चिपकाएं

  4. सी # पर गणना करने के लिए ऑरैकल से डेटा में कैसे उपयोग करें?

  5. एसक्यूएल अलग डेटा और अनुक्रम के साथ पॉप्युलेटिंग