Ok, myślę, że mam teraz to, czego chcesz. Nie mam możliwości szybkiego przetestowania wersji MYSQL tej funkcji, ale wersja SQLite działa świetnie i zgodnie z dokumentacją MySQL powinien działać równie dobrze. Może to być jednak lepszy sposób na zrobienie tego w 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 LEWY JOIN Comments_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASC, a.Comment_ID kod>
Daje to te wyniki dla mojego na 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