sql >> Database >  >> RDS >> Mysql

PHP/MySql Selecteer opmerkingen gegroepeerd met antwoorden

Oké, ik denk dat ik nu heb wat je wilt. Ik heb geen manier om de MYSQL-versie van deze functie snel te testen, maar de SQLite-versie werkt geweldig en volgens de documentatie zou de MySQL net zo goed moeten werken. Misschien is het echter een betere manier om het op MySQL te doen.

SQLite:

SELECT a.*, IFNULL( b.Is_Reply_To, a.Comment_ID ) as Is_Reply_To FROM Comments a LEFT JOIN Comments_Reply b HEBBEN (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_To ) code>

Dit levert deze resultaten op voor mijn op 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


  1. C# windows-toepassingstoegang tot databasegegevens blijven niet behouden bij afsluiten

  2. Drop vs Truncate in SQL

  3. omgekeerde mysql_real_escape_string

  4. Best practices voor back-ups voor MySQL, MariaDB en Galera Cluster