पायथन में रिश्तेदारी संबंधों में कई वंशज
पिछले पाठ में एक पिता के पास केवल
एक ही बेटा हो सकता था। यह इस तथ्य के कारण हासिल किया गया था,
कि पिता के पास son_id लिंक था।
अब मान लीजिए कि एक पिता के कई
बेटे हो सकते हैं। इस स्थिति में, हम अभी भी
केवल एक तालिका बना सकते हैं, जो खुद से
जुड़ी होगी। केवल लिंक फ़ील्ड में
हम बेटे का id नहीं, बल्कि पिता का id
स्टोर करेंगे। इस स्थिति में, कई उपयोगकर्ता
अपने पिता को संदर्भित कर सकेंगे - और इस तरह
पिता के कई बेटे होंगे:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
उपयोगकर्ता को उसके पिता के साथ प्राप्त करना निम्नलिखित तरीके से संभव है:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
मान लीजिए कि हमारे पास उपयोगकर्ता हैं। प्रत्येक उपयोगकर्ता के पिता और माता हैं। भंडारण संरचना का वर्णन करें।
एक क्वेरी लिखें जो उपयोगकर्ता को उसके पिता और माता के साथ प्राप्त करे।