Добре нека да внеса малко яснота какво взъщност се случва. Преработих и опростих малко таблиците.
mysql> SELECT * FROM sit.topics;
+----+-----------------------+-----+---------------------+-------+
| id | subject | cat | created_at | views |
+----+-----------------------+-----+---------------------+-------+
| 1 | Forum is closed | 1 | 2014-03-12 02:49:58 | 37 |
| 2 | Count topic and posts | 2 | 2014-05-18 08:30:58 | 2 |
| 3 | Soccer | 1 | 2014-06-10 12:30:58 | 57 |
| 5 | Test | 1 | 2014-07-12 03:34:32 | 23 |
| 6 | Games | 3 | 2014-08-12 06:05:54 | 4 |
| 7 | testing | 4 | 2014-09-07 00:15:00 | 13 |
| 8 | boooo | 4 | 2014-10-02 00:29:00 | 15 |
| 9 | swap links | 0 | 2014-10-19 00:38:00 | 2 |
| 10 | test 2 | 0 | 2014-11-06 02:20:00 | 3 |
+----+-----------------------+-----+---------------------+-------+
9 rows in set (0.00 sec)
mysql> SELECT * FROM sit.posts;
+----+------------+---------------------+----------+-----------+
| id | comment | created_at | topic_id | name |
+----+------------+---------------------+----------+-----------+
| 1 | comment 1 | 2014-03-18 18:58:17 | 1 | babybliss |
| 2 | comment 2 | 2014-11-18 18:58:17 | 3 | babybliss |
| 3 | comment 3 | 2014-03-24 18:58:17 | 1 | slippers |
| 4 | comment 4 | 2014-06-18 18:58:17 | 3 | slippers |
| 5 | comment 5 | 2014-07-28 18:58:17 | 5 | thesit |
| 6 | comment 6 | 2014-07-20 18:58:17 | 5 | thesit |
| 7 | No comment | 2014-08-12 18:58:17 | 5 | joda |
| 8 | Comment 8 | 2014-10-04 18:58:17 | 8 | testUser |
| 9 | Comment 9 | 2014-10-09 18:58:17 | 8 | musicman |
| 10 | No comment | 2014-11-18 18:58:17 | 8 | painter |
| 11 | No comment | 2014-10-05 18:58:17 | 8 | painter |
| 12 | Comment 12 | 2014-09-10 18:58:17 | 7 | rocky |
| 13 | Comment 13 | 2014-09-11 18:58:17 | 7 | rocky |
| 14 | Comment 14 | 2014-12-01 18:58:17 | 7 | superman |
| 15 | Comment 15 | 2014-11-18 18:58:17 | 7 | superman |
| 16 | No comment | 2014-11-18 18:58:17 | 0 | babyliss |
+----+------------+---------------------+----------+-----------+
16 rows in set (0.00 sec)
Ако изпълня на HanKrum заявката получавам следният, неправилен при мен резултат
mysql> select
t.subject, t.cat, p.comment, p.topic_id
from
topics t,
posts p
where
p.created_at = (select
max(posts.created_at)
from
posts
where
posts.topic_id = t.id)
+-----------------+-----+------------+----------+
| subject | cat | comment | topic_id |
+-----------------+-----+------------+----------+
| Soccer | 1 | comment 2 | 3 |
| boooo | 4 | comment 2 | 3 |
| Forum is closed | 1 | comment 3 | 1 |
| Test | 1 | No comment | 5 |
| Soccer | 1 | No comment | 8 |
| boooo | 4 | No comment | 8 |
| testing | 4 | Comment 14 | 7 |
| Soccer | 1 | Comment 15 | 7 |
| boooo | 4 | Comment 15 | 7 |
| Soccer | 1 | No comment | 0 |
| boooo | 4 | No comment | 0 |
+-----------------+-----+------------+----------+
Резултата, който искам да изкарам е този
+-----------------+-----+------------+----------+
| subject | cat | comment | topic_id |
+-----------------+-----+------------+----------+
| Soccer | 1 | comment 2 | 3 |
| Forum is closed | 1 | comment 3 | 1 |
| Test | 1 | No comment | 5 |
| mooo | 4 | No comment | 8 |
| testing | 4 | Comment 14 | 7 |
+-----------------+-----+------------+----------+
Получавал съм нулев резултат преди, най-вероятно при промяната от timestamp към date. Видях доста полета с невалиден ден, месец и година.Ъпдейтнах тази колона да бъде с datetime type и съм променил името и от "timestamp" с "created_at". Също така някои колони съм ги премахнал, за да бъде по лесно четимо. Оставил съм "cat" както ме посъветва jazzman, ако реша да сложа таблица с категории.