В основном у меня есть три таблицы, записи, изображения и изображения (это просто содержит идентификаторы обеих других таблиц и позволяет использовать более одного изображения в каждом сообщении, и каждое изображение можно повторно использовать в нескольких сообщениях при необходимости).
Я пытаюсь перечислить названия всех постов вместе с одним маленьким изображением из каждого (если оно есть)
Я могу сделать следующее:
$sql ="SELECT * FROM posts p, images im, postimages pi WHERE
AND pi.post_id = p.id
AND pi.image_id = im.image_id
ORDER BY created_at LIMIT 10";
Но, очевидно, если имеется более одного изображения, запись отображается дважды.
Я знаю, что мог бы сделать это с помощью подзапроса, но это кажется ужасно неэффективным. Есть ли более элегантный способ обойти это?
Любой совет будет оценен. Спасибо.