Попробуйте следующее. Предполагается, что вам нужны только определенные значения meta_key, которые я указал в предложении where. Это соответствует вашему примеру, поскольку вы исключаете все значения meta_key, отличные от того, что находится в этом списке. Он также предполагает, что значения meta_key в вашем примере - это то же самое, что нужно каждый раз поднимать как столбцы.
select wp_posts.post_author,
wp_posts.post_date,
wp_posts.post_title,
wp_posts.post_content,
wp_posts.post_excerpt,
wp_posts.guid,
wp_posts.post_name as slug,
wp_posts.id as wp_post_id,
wp_posts.post_status,
wp_sfmembers.display_name,
min(case when meta_key = '_edit_lock' then wp_postmeta.meta_key end) as meta_key,
min(case when meta_key = '_edit_lock' then wp_postmeta.meta_value end) as meta_value,
min(case when meta_key = '_yoast_wpseo_focuskw' then wp_postmeta.meta_value end) as meta_focus,
min(case when meta_key = '_yoast_wpseo_title' then wp_postmeta.meta_value end) as meta_title,
min(case when meta_key = '_yoast_wpseo_metadesc' then wp_postmeta.meta_value end) as meta_desc
from wp_posts
join wp_sfmembers
on wp_posts.post_author = wp_sfmembers.user_id
join wp_postmeta
on wp_posts.id = wp_postmeta.post_id
where post_status = 'publish'
and post_type = 'post'
and meta_key in ('_edit_lock','_yoast_wpseo_focuskw','_yoast_wpseo_title','_yoast_wpseo_metadesc')
group by wp_posts.post_author,
wp_posts.post_date,
wp_posts.post_title,
wp_posts.post_content,
wp_posts.post_excerpt,
wp_posts.guid,
wp_posts.post_name,
wp_posts.id,
wp_posts.post_status,
wp_sfmembers.display_name
order by post_date desc
По вашему запросу 'wp_postmeta' представляет собой таблицу, и в соответствии с вашим вопросом вы«хотите совместить wp_postmeta в одну запись»- вы имеете в виду вы хотите объединить' meta_key' и 'meta_value', или вы хотите объединить значения (скажем) 'meta_value' в один результат? – stuartd