stackoverflow の回答にコメントを投稿できるため、Web サイトの訪問者に既存のコメントにコメントを投稿する機能を提供したいと考えています。
ここでは、2 つのテーブルを作成しました
threads
thread_id (auto increment),
title VARCHAR(MAX),
body VARCHAR(MAX),
date datetime,
user INT
comments
comment_id INT (auto increment),
parent_id INT,
thread_id INT,
title VARCHAR(MAX),
body VARCHAR(MAX),
date datetime,
user INT
ユーザーがスレッドにコメントを投稿すると、以下のようにコメント テーブルに保存されます。
comment_id = 1211
parent_id = NULL
thread_id = 122
title = "This is the title of the comment"
body = "This is the Body of the comment"
date = 2013-04-04 13:05:44
user = "xyzuser"
ユーザーが上記のコメントにコメントを投稿すると、そのコメントは以下のようにコメント テーブルに保存されます。
comment_id = 1212
parent_id = 1211
thread_id = 122
title = "This is sample title of comment on comment"
body = "This is the Body of comment on comment";
date = 2013-04-04 15:05:44
user = "abcuser"
次のクエリを使用して、スレッド テーブルからスレッドを取得しています
SELECT * FROM threads WHERE thread_id = 122
今まで、以下のようにコメントテーブルからスレッドの下にコメントを取得しています
SELECT * FROM comments WHERE thread_id = 122
しかし、今、各コメントの下にコメントも表示したいので、次のことを試しました
SELECT * FROM comments WHERE thread_id = 122 GROUP BY parent_id
しかし、このクエリを使用すると、parent_id に NULL 値を持つ行はどうなるか、および各コメントの下のコメントをどのように整理するかを説明します。
誰でも解決策はありますか?? どのクエリを使用する必要があり、各コメントの下のコメントをどのように整理するのですか??