Не ни и трябват 150 реда, 5 са достатъчни. Това последното прозвуча точно като един лаф, с който се бъзикаме с Питанката - че хвърляме боб и така разбираме къде са проблемите в кода. В тоя код дето си написал имаш една външна заявка и една вложена.
Още преди ти намекнах да ги отделиш и да тестваш на парче. Анализирай заявките - вложената ти връща един запис (най-новия) и по него сравняваш на WHERE клаузата към външната заявка. Харесай си един topic, вземи му ID-то, намери един post към него, вземи и неговото ID. Сега отдели вложената заявка и изпълни само нея като в WHERE клаузата сложиш съответните ID-та. Пак ли няма резултат? Ако има значи проблема не е тука, минаваш към външната заявка и така докато не намериш къде по дяволите се е скрило малкото гадно нещо...