как то так , но третий подзапрос показывает на проблему с проектированием , все это будет работать при условии что в таблице postmeta есть уникальный ключ из двух полей meta_key, post_id
SELECT
posts.id,
posts.post_title,
v1.meta_value as val_1,
v2.meta_value as val_2,
(SELECT meta_value FROM postmeta WHERE meta_key='key_3' AND post_id=(SELECT meta_value FROM postmeta WHERE meta_key='key_4' AND post_id=posts.id LIMIT 1) LIMIT 1) as val_3
FROM
posts
left join postmeta v1 on (v1.meta_key='key_1' AND v1.post_id=posts.id)
left join postmeta v2 on (v2.meta_key='key_2' AND v2.post_id=posts.id)
в идеале должно выглядеть так
SELECT
posts.id,
posts.post_title,
v1.meta_value as val_1,
v2.meta_value as val_2,
v3.meta_value as val_3,
FROM
posts
left join postmeta v1 on (v1.meta_key='key_1' AND v1.post_id=posts.id)
left join postmeta v2 on (v2.meta_key='key_2' AND v2.post_id=posts.id)
left join postmeta v3 on (v2.meta_key='key_3' AND v2.post_id=posts.id)