mysql - How to traverse in the database table using parent id? -


हमारे पास MYSQL तालिका है जिसमें ID, PARENT_ID और अनुबंध शर्तें शामिल हैं:

  CONTRACTTERM + ----------------- + ------------- + ------ + ----- + ----- ---- + | फील्ड | प्रकार | नल | कुंजी | डिफ़ॉल्ट | + ----------------- + ------------- + ------ + ----- + ---- ----- + | आईडी | बिल्टीन्ट (20) | नहीं | पीआरआई | नल | | PARENT_ID | बिल्टीन्ट (20) | हां | मुल | नल | | FROM_DATE | तिथि | हां | मुल | नल | | TO_DATE | तिथि | हां | मुल | नल |  

FROM_DATE और TO_DATE को खोजने के लिए parent_id का उपयोग करने की आवश्यकता है जब तक parent_id नल है फिर अंतिम माता पिता FROM_DATE और TO_DATE अनुबंध शर्तों दिखाएं क्या इन तारीखों को एसक्यूएल का उपयोग करना संभव है?

एक विकल्प निम्न एसक्यूएल का उपयोग करना है, लेकिन यह तभी काम करता है जब हमें पुनरावृत्तियों की संख्या पता हो:

  चुनें T1.ID, t4.FROM_DATE, t4.TO_DATE से CONTRACTTERM T1, CONTRACTTERM T2, CONTRACTTERM T3, CONTRACTTERM T4 WHERE T1.ID में (27533, 57665, 58057) और t2.ID = t1.PARENT_ID और t3.ID = t2 .PARENT_ID और t4.ID = t3.PARENT_ID और t4.PARENT_ID है T4.TO_DATE डीईएससी द्वारा नल आदेश;  

आपको इन दिनांकों को LIMIT और आदेश द्वारा उपयोग करने में सक्षम होना चाहिए। यदि आप किसी विशिष्ट PARENT_ID के लिए सबसे मौजूदा अनुबंध की तारीखों की तलाश कर रहे हैं, तो ऐसा कुछ करने की कोशिश करें:

SELECT * FROM CONTRACTTERM WHERE PARENT_ID = (: parent_id) ORDER BY TO_DATE DESC LIMIT 1

यदि आप गैर-निरर्थक PARENT_ID के साथ किसी भी अनुबंध की सबसे मौजूदा तिथियों को प्राप्त करने की कोशिश कर रहे हैं, तो कोशिश करें:

चुनें CONTENT_TTERMER जहां PARENT_ID द्वारा नल क्रम नहीं है TO_DATE DESC LIMIT 1

ps: मुझे यह जानकारी मिली और


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -