Ваш существующий запрос не будет делать то, что вы хотите.Вместо этого вам нужно JOIN
ваших таблиц в некотором общем столбце:
SELECT
posts.*,
comments.*,
photos.*
FROM
posts JOIN comments ON posts.post_id = comments.post_id
JOIN photos ON posts.post_id = photos.post_id
ORDER BY posts.date DESC
Обратите внимание, что часто не рекомендуется делать SELECT *
или SELECT posts.*
в рабочем коде.Как правило, лучше явно перечислить нужные столбцы, чтобы вы могли быть уверены в порядке их поступления (например, для UNION
запросов) и в случае изменения вашей схемы.
SELECT
posts.date,
posts.post_id,
posts.title,
posts.etc,
comments.date,
comments.user,
comments.text,
photos.title
FROM
posts JOIN comments ON posts.post_id = comments.post_id
JOIN photos ON posts.post_id = photos.post_id
/* Also, if multiple tables have a `date` column, you'll need to specify which one
as in `posts`.`date` */
ORDER BY posts.date DESC