Na podstawowym poziomie miałbyś tabelę dla każdego typu „rzeczy” w twojej aplikacji. W tym przypadku tabela na Posty i tabela na Komentarze. Coś tak prostego jak to:
Post
--------
Id
Content
User
DatePosted
Comment
--------
Id
PostId
Content
User
DatePosted
Stworzyłoby to tak zwaną relację jeden-do-wielu (a właściwie zero-do-wielu) między postami a komentarzami, w której każdy post może mieć zero lub więcej powiązanych wiadomości, ale każdy komentarz może być powiązany tylko z jednym postem.
W swoim kodzie (który jest zupełnie innym tematem), aby wyświetlić post i powiązane z nim komentarze, możesz zrobić kilka rzeczy. Zakładając, że masz jako dane wejściowe Id
posta, który chcesz, możesz go pobrać i jego komentarze:
SELECT `Content`, `User`, `DatePosted` FROM `Post` WHERE `Id` = ?Id
SELECT `Id`, `Content`, `User`, `DatePosted` FROM `Comment` WHERE `PostId` = ?Id
To, co zrobisz z tymi danymi wynikowymi, zależy od Ciebie i jak chcesz je wykorzystać w swojej aplikacji. Wróciłby jako wyniki dwóch tabel, z których pierwszy ma jeden rekord (jeśli istnieje Post), a drugi ma zero lub więcej rekordów. Oczywiście będziesz chciał sprawdzić, czy rzeczy istnieją, zanim spróbujesz ich użyć itp. (Więc jeśli pierwsze zapytanie nie zwraca żadnych wyników, nie próbuj dalej wyświetlać posta. Po prostu pokaż domyślną odpowiedź lub błąd.)