Wygląda na to, że chcesz PIVOT
latitude
i longitude
wartości. Niestety, MySQL nie ma PIVOT
funkcji, ale możesz ją zreplikować za pomocą funkcji agregującej z CASE
oświadczenie:
SELECT p.ID,
p.post_title,
p.post_author,
max(case when pm.meta_key='latitude' then pm.meta_value end) latitude,
max(case when pm.meta_key='longitude' then pm.meta_value end) longitude
FROM `wp_posts` p
LEFT JOIN `wp_postmeta` pm
on p.ID=pm.post_id
WHERE p.post_type='place'
AND (pm.meta_key='latitude' OR pm.meta_key='longitude')
GROUP BY p.ID, p.post_title, p.post_author
ORDER BY p.ID ASC
Zobacz Skrzypce SQL z wersją demonstracyjną