sql >> データベース >  >> RDS >> Mysql

返信でグループ化されたPHP/MySql選択コメント

    わかりました、私はあなたが今欲しいものを手に入れたと思います。この関数のMYSQLバージョンをすばやくテストする方法はありませんが、SQLiteバージョンはうまく機能し、ドキュメントによると、MySQLも同様にうまく機能するはずです。ただし、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

    これにより、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. 一意でない場合のMySQLUUID()?

    2. SQL Server SP-IN配列リストのパラメーターを渡しますか?

    3. MySQLは、サブクエリが派生していないのに派生していると考えています。

    4. SQL ServerのクロスデータベースオブジェクトでOBJECT_ID()を使用する方法