sql >> Databasteknik >  >> RDS >> Mysql

PHP/MySql Välj kommentarer grupperade med svar

Okej, jag tror att jag fick vad du vill nu. Jag har inget sätt att testa MYSQL-versionen av den här funktionen snabbt, men SQLite-versionen fungerar utmärkt och enligt dokumentationen ska MySQL fungera lika bra. Kan dock vara ett bättre sätt att göra det på MySQL.

SQLite:

SELECT a.*, IFNULL( b.Is_Reply_To, a.Comment_ID ) as Is_Reply_To FROM Kommentarer a LEFT JOIN Comments_Reply b HAVING(Comment_ID) BESTÄLLNING AV 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. kod>

Detta ger dessa resultat för 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. Konstigt skrivskyddat MySQL-fel

  2. SqlDependency aktiverar inte OnChange-händelsen när datauppsättningen ändras

  3. Hur visar jag schemat för en tabell i en MySQL-databas?

  4. 10 tidsbesparande tips för MS Access-användare