Я создаю форум и застрял при создании страницы, на которой будут отображаться все темы для данного форума.Три соответствующие таблицы и поля структурированы следующим образом:
Table: forums_topics Table: forums_posts Table: users
-------------------- ------------------- ------------
int id int id int id
int forum_id int topic_id varchar name
int creator int poster
tinyint sticky varchar subject
timestamp posted_on
Я начал со следующего SQL:
SELECT t.id,
t.sticky,
u.name AS creator,
p.subject,
COUNT(p.id) AS posts,
MAX(p.posted_on) AS last_post
FROM forums_topics AS t
JOIN users AS u
LEFT JOIN forums_posts AS p ON p.topic_id = t.id
WHERE t.forum_id = 1
AND u.id = t.creator
GROUP BY t.id
ORDER BY t.sticky
Похоже, я получаю то, что хочу (идентификатор темы)номер, если это липкий, кто сделал тему, тему темы, количество сообщений для каждой темы и отметку времени последнего сообщения).Если есть ошибка, пожалуйста, дайте мне знать.
Теперь у меня проблемы с тем, как я могу добавить к этому, чтобы получить название самого последнего плаката.Может кто-нибудь объяснить, как я бы отредактировал свой SQL для этого?Я могу предоставить более подробную информацию, если необходимо, или реструктурировать свои таблицы, если это облегчит задачу.