現在、複数の行が返されているため、この結合を使用して最新のアイテムに結合しようとしています。
LEFT OUTER JOIN wp_posts wp_posts1 ON (wp_posts.ID = (SELECT MAX(post_parent) FROM wp_posts1 WHERE wp_posts1.post_parent = wp_posts.ID) )
しかし、「SQL エラー: テーブル 'web13-a-tablename.wp_posts1' が存在しません」というエラーが表示されます。
以下の元のコードでは、結果が多すぎます。
SELECT
wp_posts.ID,
wp_posts.post_title,
wp_posts1.guid AS f_image,
wp_posts1.id AS f_ID
FROM wp_posts
LEFT OUTER JOIN wp_posts wp_posts1 ON (wp_posts.ID = wp_posts1.post_parent) AND wp_posts1.post_type = 'attachment'
WHERE wp_posts.post_type = 'custom'
AND wp_posts.post_status = 'publish'
AND (wp_posts.post_title LIKE '%smith%' OR wp_posts.post_title LIKE '%jones%')
ORDER BY
f_ID DESC
複数の行が選択されていることを示す SQLFiddle。1 行だけ取得したいので、最大の f_ID を選択したいと考えています。http://sqlfiddle.com/#!2/97ee9/3/0
必要な結果:
ID POST_TITLE F_IMAGE F_ID
--------------------------------------------
2365 John Jones IMG_URL 2490
2385 Becky Smith IMG_URL 2390