Podría usar una sola tabla, que incluye un campo ParentID. Si el registro no tiene valor, es un comentario; de lo contrario, es una respuesta (a un comentario o una respuesta).
Puede consultar el registro ParentID del registro (inspeccionar es ParentID) para ver si esta respuesta es un comentario o una respuesta.
Editar :Lo anterior es una solución bastante práctica. Sin embargo, para ir con una versión normalizada, mantenga la tabla Comentarios (sin ParentID) y cree una tabla ReplyTo que tenga un CommentID y un ResponseID, los cuales son los ID de los registros en la tabla Comentarios.
Usando esta idea, el siguiente sql mostrará los comentarios y la 'respuesta' a cada comentario para cada respuesta que tenga un comentario:
select c.comment, r.comment as reply
from comment as c, comment as r, replyto as rt
where c.ID = rt.CommentID
and r.ID = rt.ReplyID
Como señala Dimitrii, no mostrará comentarios sin respuestas; para esto, necesita una consulta de unión externa (no probó la sintaxis):
SELECT c.comment, r.comment as reply,
from Comment c
left outer join Comment r on c.id = r.id
left outer join replyto rt on rt.responseid = r.id