ठीक है, मुझे लगता है कि मुझे वह मिल गया जो अब आप चाहते हैं। मेरे पास इस फ़ंक्शन के MYSQL संस्करण को जल्दी से परीक्षण करने का कोई तरीका नहीं है, लेकिन SQLite संस्करण बहुत अच्छा काम करता है और दस्तावेज़ीकरण के अनुसार, MySQL को उतना ही अच्छा काम करना चाहिए। हालांकि इसे MySQL पर करने का एक बेहतर तरीका हो सकता है।
SQLite:
चुनें a.*, IFNULL(b.Is_Reply_To, a.Comment_ID) के रूप में Is_Reply_To FROM टिप्पणियाँ एक बाएँ शामिल हों टिप्पणियाँ_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASC, a.Comment_ID ASC
MySQL
चुनें a.*, IF( IS NULL(b.Is_Reply_To), a.Comment_ID, b.Is_Reply_To ) के रूप में Is_Reply_To टिप्पणियों से एक वाम जॉइन टिप्पणियाँ_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASC, a.Comment_ID ASC कोड>
यह my on SQLite के लिए ये परिणाम देता है।
Comment_ID Is_Reply_to
1 1
10 1
11 1
2 2
12 2
3 3
13 3
14 3
4 4
5 5
6 6
7 7
8 8
9 9
15 15