0

私は単純なディスカッション掲示板を作ろうとしています。その結果、トピックのタイトルとその作者、およびトピックの作者が最後の投稿をする必要があります。

これまでのところ、私はこれを持っています

SELECT
    `t`.`id`,
    `t`.`title`,
    `t`.`date` as theme_date,
    `u`.`id` as user_id,
    `u`.`username` as user_username,
    COUNT(p.id) as count_posts,
    SUBSTRING_INDEX(GROUP_CONCAT(`p`.`id` ORDER BY `p`.`id` DESC SEPARATOR "| " ), "| ", 1) as last_post_id,
    SUBSTRING_INDEX(GROUP_CONCAT(`p`.`date` ORDER BY `p`.`id` DESC SEPARATOR "| " ), "| ", 1) as last_post_date,
    IFNULL(MAX(p.date), t.date) AS pts
FROM
    `topics` t
LEFT JOIN
    `posts` p ON `p`.`topics_id` = `t`.`id`
LEFT JOIN
    `users` u ON `u`.`id` = `t`.`user_id`
GROUP BY
    `t`.`id`
ORDER BY
    `pts` DESC
LIMIT 10

ここでは、最新の 10 件のトピックのタイトル、作成者のユーザー名と ID、各トピックのメッセージ数、各トピックの最後の ID と投稿日、アクティビティ別に並べ替えられたすべての情報を取得しました。基本的にすべてです。必要なのは、それらの最後の投稿の作成者のユーザー名だけです。サブクエリで1つの左結合を作成する必要があると思いますが、ちょっと行き詰まっています。誰かが私を助けることができますか?

4

1 に答える 1