Mysql
 sql >> Database >  >> RDS >> Mysql

PHP/MySql Seleziona i commenti raggruppati con le risposte

Ok, penso di aver ottenuto quello che vuoi adesso. Non ho un modo per testare rapidamente la versione MYSQL di questa funzione, ma la versione SQLite funziona alla grande e, secondo la documentazione, MySQL dovrebbe funzionare altrettanto bene. Potrebbe essere un modo migliore per farlo su 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.Comment_ID ASC

Questo produce questi risultati per il mio su 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