Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP / MySql Chọn các bình luận được nhóm với các câu trả lời

Được rồi, tôi nghĩ tôi đã có được những gì bạn muốn bây giờ. Tôi không có cách nào để kiểm tra phiên bản MYSQL của chức năng này một cách nhanh chóng, nhưng phiên bản SQLite hoạt động tốt và theo tài liệu, MySQL sẽ hoạt động tốt như vậy. Tuy nhiên, có thể là một cách tốt hơn để làm điều đó trên 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

Điều này tạo ra các kết quả này cho tôi trên 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. Tối ưu hóa truy vấn MySQL - truy vấn bên trong

  2. Số cột lỗi MySQL C # không khớp với số lượng giá trị ở hàng 1

  3. Mysql 5.6 đau đầu trên Mac OSX

  4. Dữ liệu mùa xuân kết hợp với các thông số kỹ thuật

  5. ER_FK_NO_INDEX_PARENT:Không thêm được ràng buộc khóa ngoại. Thiếu chỉ mục cho ràng buộc