Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP/MySql Изберете коментари, групирани с отговори

Добре, мисля, че получих това, което искаш сега. Нямам начин да тествам бързо MYSQL версията на тази функция, но версията на SQLite работи чудесно и според документацията MySQL трябва да работи също толкова страхотно. Може да е по-добър начин да го направите в MySQL.

SQLite:

SELECT a.*, IFNULL( b.Is_Reply_To, a.Comment_ID ) като 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 ) като Is_Reply_To FROM Comments a LEFT JOIN Comments_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASCID, a. код>

Това дава тези резултати за my on 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. защо се вижда грешката `tcgetattr`, когато ssh се използва за изхвърляне на архивния файл на друг сървър?

  2. PHP - Вложен списък, разбит на четни колони (поправка и актуализации)

  3. Съхранявайте множество имейл адреси в база данни за различни типове потребители

  4. Как да изпълним MySQL команда от шел скрипт?

  5. Спрете sql да актуализира празни или празни полета от моя формуляр за актуализиране