Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP/MySql Sélectionnez les commentaires regroupés avec les réponses

Ok, je pense que j'ai obtenu ce que vous voulez maintenant. Je n'ai pas de moyen de tester rapidement la version MYSQL de cette fonction, mais la version SQLite fonctionne très bien et, selon la documentation, MySQL devrait fonctionner tout aussi bien. Cela pourrait être une meilleure façon de le faire sur 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

Cela produit ces résultats pour mon sur 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