देख रहे माइक जैसा कि पहले ही कहा, MySQL पुनरावर्ती का चयन करें या पुनरावर्ती कार्यों का समर्थन नहीं करता क्या करना चाहिए।
यदि आपके पास अपने कार्य संगतता (जैसे 5) पर अधिकतम तार्किक सीमा है तो आप हार्ड कोड किए गए स्वयं जुड़ सकते हैं।
SELECT
t1.taskid as taskid1,
t2.taskid as taskid2,
t3.taskid as taskid3,
t4.taskid as taskid4,
t5.taskid as taskid5
FROM task t1
LEFT JOIN task t2 ON t2.parenttaskid = t1.taskid
LEFT JOIN task t3 ON t3.parenttaskid = t2.taskid
LEFT JOIN task t4 ON t4.parenttaskid = t3.taskid
LEFT JOIN task t5 ON t5.parenttaskid = t4.taskid
कौन इस परिणाम का उत्पादन करेगा: http://sqlfiddle.com/#!2/c9f80/1/0
तरह से आप अपने इनपुट डेटा में कुछ स्वयं संदर्भित कार्यों के लिए जो प्रत्यावर्तन के साथ एक अनन्तता पाश उत्पादन होता है के द्वारा।
स्रोत
2014-12-10 07:01:09
चयन t2.id, t1.id = t2.parenttaskid पर tbl_taskmaster t2 में शामिल होने t1 इनर tbl_taskmaster से t2.parenttaskid जहां t1.parenttaskid = 1 – Haris
क्या अपनी टिप्पणी में है के साथ अपने प्रश्न अद्यतन। –
क्या आपको एक ऐसे उत्तर की आवश्यकता है जो एक एसक्यूएल स्टेटमेंट है, या एक संग्रहीत प्रक्रिया आपकी आवश्यकताओं को पूरा करेगी? क्या किसी भी बार रिकर्सन के स्तर की अधिकतम संख्या के बारे में एक सुरक्षित धारणा है? – RobP