MySQL: получить стартер темы и последний постер в одном запросе

У меня были некоторые проблемы с получением как темы, так и самого последнего постера в одном запросе. Мои таблицы выглядят так:

описание идентификатора forum_categories

название_форума ID темы

forum_posts id thread_id user_id Сообщение создано, отредактировано

Я использую следующий запрос, чтобы получить все детали, которые мне нужны, за исключением user_id человека, который опубликовал последнее сообщение в определенной теме.

SELECT T.id, T.title, MAX(P.created) AS lastPostDate, COUNT(P.id) AS amountOfPosts, M.MemberID, M.Username
FROM forum_threads T 
JOIN forum_posts P 
ON T.id = P.thread_id 
JOIN member M 
ON P.user_id = M.MemberID 
WHERE category_id = 1
GROUP BY T.id 
ORDER BY lastPostDate DESC

Пример результата, который я получаю:

id: 19
title: ABCDEFGHIJKLMNOP
lastPostDate: 2014-04-25 13:42:53
amountOfPosts: 25
MemberID: 1
Username: monkeyboy

Я могу также получить информацию о последнем плакате и получить вместе с деталями из вышеупомянутого запроса, используя union, но у меня есть ощущение, что должен быть лучший способ сделать это. Так все равно может помочь мне?

Спасибо!

0 ответов

Другие вопросы по тегам