http://www.vidyasocks.com/requests.php
スレッドを投稿すると、そのスレッドが一番上にぶつかってしまうので、欲しいです。
これは私が現在そのページに持っているものです"SELECT * from forum ORDER BY id DESC LIMIT 12";
データベースにはid(pk)のスレッドがあり、id(pk)とthread_id(fk)で応答します
私は何をしますか?私が想定するある種の内部結合?
http://www.vidyasocks.com/requests.php
スレッドを投稿すると、そのスレッドが一番上にぶつかってしまうので、欲しいです。
これは私が現在そのページに持っているものです"SELECT * from forum ORDER BY id DESC LIMIT 12";
データベースにはid(pk)のスレッドがあり、id(pk)とthread_id(fk)で応答します
私は何をしますか?私が想定するある種の内部結合?
スレッドと返信が挿入される日付/タイムスタンプはありますか?応答のないスレッドがあり、thread_idの順序を応答IDの順序と関連付けることができないため、応答IDに基づいて注文することはできません。
私があなたのテーブル構造について正しい考えを持っているなら、あなたはいくつかのタイムスタンプを与えられてこのようなことをしているでしょう:
SELECT DISTINCT forum.* FROM forum
LEFT JOIN replies on
forum.id = replies.thread_id
ORDER BY coalesce(replies.reply_timestamp, forum.thread_timestamp) DESC
LIMIT 12
合体は、応答が存在する場合はreplies.reply_timestampを返し、そうでない場合はforum.thread_timestampが使用されます。
編集:亜美のコメントに基づいてDISTINCTを追加