Я предполагаю, что комментарии имеют уникальные идентификаторы комментариев, а темы имеют уникальные идентификаторы потоков. У них обоих также есть какая-то временная метка.
Скажем, у вас это случилось:
thread (thread_id := 1)
comment (c_id := 1, c_time := 1, t_id := 1)
comment (c_id := 2, c_time := 2, t_id := 1, c_parent := 1)
comment (c_id :=4, c_time := 3, t_id := 1, c_parent := 2)
comment (c_id := 3, c_time := 4, t_id := 1, c_parent := 1)
С такой структурой ваше представление будет просто запрашивать t_id (идентификатор потока), если вы извлекаете документы, упорядоченные по отметке времени комментария, вы можете легко создать список корневых комментариев и оттуда создать дерево комментариев для нить.