テーブルに保存された記事がありarticle
ます。一部の記事には、1 つ以上の写真が指定されたphoto
テーブルに保存されていarticle_id
ます。一部の写真は「無効化」されており ( photo.active = '0'
)、取得できません。
ホームページの記事と、記事ごとに 1 枚以上の写真を含む 1 枚の写真を取得しようとしています。そのようです:
SELECT article.id, article.date, article.title, photo.filename_small
FROM (article)
LEFT JOIN photo ON photo.article_id=article.id
WHERE photo.active = '1'
GROUP BY article.id
ORDER BY article.date desc
LIMIT 10
(「グループ化」は、複数の写真を含む記事に対して複数の結果が得られないようにするためのものです。私にはぎこちなく思えます。)
そのWHERE photo.active = '1'
ような場合、写真でしか結果が得られず、結合を左結合にする目的が無効になります。場所は、結合が写真付きの記事と一致する場合にのみ関連しますが、アクティブな写真のない記事はすべて除外されます。何か案は?
(はい、同様の質問がありますが、私はそれらの多くを読みましたが、まだ苦労しています。)