Ok, saya pikir saya mendapatkan apa yang Anda inginkan sekarang. Saya tidak memiliki cara untuk menguji versi MYSQL dari fungsi ini dengan cepat, tetapi versi SQLite bekerja dengan baik dan, menurut dokumentasi, MySQL harus bekerja dengan baik. Mungkin cara yang lebih baik untuk melakukannya di MySQL.
SQLite:
SELECT a.*, IFNULL( b.Is_Reply_To, a.Comment_ID ) as Is_Reply_To FROM Comments a LEFT JOIN Comments_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASC, a.Comment_ID ASC
MySQL
SELECT a.*, IF( IS NULL(b.Is_Reply_To), a.Comment_ID, b.Is_Reply_To ) as Is_Reply_To FROM Comments a LEFT JOIN Comments_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASC, a.
Ini menghasilkan hasil ini untuk saya di 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