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

PHP/MySql Vælg kommentarer grupperet med svar

Ok, jeg tror, ​​jeg fik det, du vil have nu. Jeg har ikke mulighed for hurtigt at teste MYSQL-versionen af ​​denne funktion, men SQLite-versionen fungerer godt, og ifølge dokumentationen skulle MySQL fungere lige så godt. Det kan dog være en bedre måde at gøre det på 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 Kommentarer a LEFT JOIN Comments_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_Comment_ID, ASC. kode>

Dette giver disse resultater for min på 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. Feltet 'id' har ikke en standardværdi?

  2. Læs tabulatorsepareret tekstfil ind i MySQL-tabel med PHP

  3. Generer unikke tilfældige alfanumeriske tegn, der er 7 tegn lange

  4. mysql - hvor mange kolonner er for mange?