द्वारा कॉम्प्लेक्स टीएसक्यूएल ऑर्डर इस उदाहरण के लिए क्रमशः child
और parent
नामक दो फ़ील्ड (दोनों प्रकार के आईएनटी) के लिए निम्नलिखित मानदंड सुनिश्चित करने के लिए एक ऑर्डर द्वारा क्लॉज तैयार करना संभव है।क्लॉज
parent
संदर्भchild
, लेकिन शून्य हो सकता है।- माता-पिता के कई बच्चे हो सकते हैं; एक बच्चा केवल एक माता पिता।
- एक बच्चा अपने आप का माता पिता नहीं हो सकता है।
- माता-पिता के बिना कम से कम एक बच्चे मौजूद होना चाहिए।
child
का प्रत्येक मान क्रमशः परिणाम सेट मेंparent
में दिखाई देने से पहले प्रकट होना चाहिए।
मैं बिंदु के साथ कठिनाई आ रही है 5.
नमूना अव्यवस्थित डेटा:
child parent
------------
1 NULL
3 5
4 2
2 5
5 NULL
जाहिर न ORDER BY a, b
या ORDER BY b, a
काम करते हैं। वास्तव में जितना अधिक मैं इसके बारे में सोचता हूं, मुझे यकीन नहीं है कि यह भी किया जा सकता है। प्रतिबंधों को देखते हुए,
child parent
------------
1 2
2 1
की अनुमति नहीं है क्योंकि यह नियम 3 और 4 (और स्पष्ट रूप से 5) का उल्लंघन करती है।
तो, क्या मैं संभव हासिल करने की कोशिश कर रहा हूं, और यदि ऐसा है तो कैसे? प्लेटफार्म एसक्यूएल सर्वर है 2005
अद्यतन: नमूना डेटा के लिए वांछित सॉर्ट क्रम:
child parent
------------
1 NULL
5 NULL
2 5
3 5
4 2
प्रत्येक पंक्ति के लिए है कि माता-पिता कॉलम में एक गैर शून्य मान परिभाषित करता है, मूल्य पहले से ही मौजूद है बाल कॉलम int।
आप वांछित क्रम में नमूना डेटा, कृपया दिखाने सकते हैं? वह एक मदद होगी। –
आपके अनुरोध के अनुसार, ब्रायन जोड़ा गया। –