0

現在、複数の行が返されているため、この結合を使用して最新のアイテムに結合しようとしています。

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
4

1 に答える 1