А в чем проблема?
2 запроса:
select * from posts where post_id = 123;
select * from comments where post_id = 123;
В php собираете в единую структуру
UPDНе-не) Вы не поняли) Вы говорите если один пост. А у меня в цикле эти записи выводятся. То есть нужно из БД запись так достать, что бы я смог сделать цикл и внутри цикла сделать еще цикл который выводит комментарии. Если в цикле делать запросы, то я думаю это не совсем гуд.
Понял вопрос. Вопрос интересный. Задача часто встречающаяся, вариантов тут несколько:
1. Подумайте, так ли Вам нужно отдавать именно такую структуру данных.
Возможно будет проще делать дополнительные запросы из интерфейса. И список постов будет быстрее грузиться, и реализация проще.
2. Если отдавать именно такую структуру хочется, можно использовать например кеш.
В табличке постов заводим поле и кладем в него строкой json с последними 3мя комментариями.
Когда кто то добавляет/удаляет комментарий - обновляем поле.