Es hört sich so an, als ob Sie PIVOT
möchten der latitude
und longitude
Werte. Leider hat MySQL keinen PIVOT
Funktion, aber Sie können sie mit einer Aggregatfunktion mit einem CASE
replizieren Aussage:
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
Siehe SQL-Fiddle mit Demo