sql >> Base de Datos >  >> RDS >> Mysql

PHP/MySql Seleccionar comentarios agrupados con respuestas

Ok, creo que tengo lo que quieres ahora. No tengo una forma de probar la versión MYSQL de esta función rápidamente, pero la versión SQLite funciona muy bien y, según la documentación, MySQL debería funcionar igual de bien. Sin embargo, podría ser una mejor manera de hacerlo en 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

Esto produce estos resultados para mi en 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