के सभी आइटमों को रिकर्सिवली रूप से प्राप्त करता है मेरे पास 2 टेबल हैं। items
और itemItems
क्या SQLite क्वेरी लिखना संभव है जो रूट आइटम नोड
itemItems
items
के बीच कई रिश्तों का वर्णन करता है। अर्थात। items
के एक सदस्य के कई बच्चे हैं और वे कई बच्चों जो बारी में कई बच्चों आदि हो सकता है हो सकता है हो सकता है ..
आइटम:
itemID | more stuff ......
1 ...
2 ...
3 ...
4 ...
itemItems:
parentItemID | childItemID
1 2
1 3
2 4
मैं एक प्रश्न लिखना चाहता हूं जो सभी बच्चों को एक रूट नोड के नीचे दोबारा मिल जाएगा।
मेरा मानना है कि यह कुछ एक पुनरावर्ती में शामिल होने के कहा जाता है के साथ संभव है, लेकिन मैं अवधारणा बहुत भ्रामक .... लगता है (this प्रश्न के समान है, लेकिन कई लोगों के लिए SQLite एसक्यूएल सर्वर नहीं है और कई नहीं एक के लिए कई के साथ)
मैं मैं कैसे का विस्तार कर सकता है इस रिकर्सिवली सभी बच्चों के बच्चों आदि प्राप्त करने के लिए निम्नलिखित
SELECT *
FROM items
INNER JOIN itemItems
ON items.itemID = itemItems.childItemID
WHERE itemItems.parentItemID = 1
करके प्रथम स्तर (यानी एक मद के अंतर्गत सभी बच्चों) प्राप्त कर सकते हैं ...?
इस क्षेत्र के आसपास का पाठ https://sqlite.org/lang_with.html#rcex1 विशेष रूप से "पदानुक्रमित प्रश्न उदाहरण" अनुभाग में काम करने में सहायक था। सामान्य अवधारणा के लिए http://www.sitepoint.com/hierarchical-data-डेटाबेस भी। –
@AndrewEidsness इसे 3.7.2 में कैसे काम करें? – kiran