から最初の画像を取得する必要がありportfolio_images
ますが、次のクエリはそれを行っていません。見つかった最初のレコードのみが必要な場合、見つかった各レコードのすべての画像を返しますportfolio
(これは DISTINCT で機能します) portfolio_images.fullsize
。
ポートフォリオ
id | project_name | location_id | project_type | is_active
ポートフォリオ画像
id | portfolio_id | fullsize
SELECT DISTINCT p.project_name, pi.fullsize
FROM portfolio p
INNER JOIN portfolio_images pi ON p.id = pi.portfolio_id
AND p.is_active = 1
AND p.project_type = 'project' AND p.location_id = 3
ORDER BY p.oindex
portfolio
最初にクエリを実行してから、それらの結果をループし、ネストされたループを実行portfolio_images
して、現在のポートフォリオ ID に基づいて最初に返されたレコードをクエリすることを避けたいと考えています。