Em um nível básico, você teria uma tabela para cada tipo de "coisa" em seu aplicativo. Neste caso, uma tabela para Posts e uma tabela para Comentários. Algo tão simples como isto:
Post
--------
Id
Content
User
DatePosted
Comment
--------
Id
PostId
Content
User
DatePosted
Isso criaria o que é chamado de relacionamento um-para-muitos (ou zero-para-muitos, na verdade) entre Posts e Comentários, em que cada Post pode ter zero ou mais Pomments associados, mas cada Comentário pode ser associado a apenas um Post.
No seu código (que é um assunto totalmente diferente), para exibir uma postagem e seus comentários associados, há algumas coisas que você pode fazer. Supondo que você tenha, como entrada, o
Id
do Post que você deseja, você pode obter esse Post e seus Comentários:SELECT `Content`, `User`, `DatePosted` FROM `Post` WHERE `Id` = ?Id
SELECT `Id`, `Content`, `User`, `DatePosted` FROM `Comment` WHERE `PostId` = ?Id
O que você faz com os dados resultantes depende de você e de como deseja usá-los em seu aplicativo. Ele voltaria como dois resultados de tabela, o primeiro com um registro (se o Post existir) e o último com zero ou mais registros. Naturalmente, você desejará verificar se as coisas existem antes de tentar usá-las etc. (Portanto, se a primeira consulta não retornar resultados, não tente continuar exibindo a postagem. Apenas mostre uma resposta padrão ou um erro.)