문제

단일 쿼리의 PHPBB 데이터베이스에서 카테고리 (Category-> Forum-> Topic-> Post)의 모든 주제의 마지막 게시물 만 가져오고 싶습니다. 현재 나는 이것을 요리했지만, 마지막 게시물만을 반환합니다.

SELECT *, MAX(p.post_id)
FROM phpbb_forums f, phpbb_topics t, phpbb_posts p
WHERE f.parent_id IN (<categories>)
AND t.forum_id = f.forum_id
AND p.topic_id = t.topic_id
GROUP BY p.topic_id

올바르게하는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

SELECT  *
FROM    phpbb_forums f
JOIN    phpbb_topics t
ON      t.forum_id = f.forum_id
JOIN    phpbb_posts p
ON      p.post_id = 
        (
        SELECT  pi.post_id
        FROM    phpbb_posts pi
        WHERE   pi.topic_id = t.topic_id
        ORDER BY
                pi.date DESC
        LIMIT 1
        )
WHERE   f.parent_id IN (…)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top