Aliasing your table helps for keeping joins straight in your head. (The t and a as seen below) Inner join only returns where results match, similar function to where in.
SELECT T.* FROM topics t
INNER JOIN
(
SELECT DISTINCT(topic)
FROM answers
ORDER BY date LIMIT 500
) a
ON t.topic_id = a.topic