我想使用PHP和MySQL和Wordpress作为CMS制作商店定位器 . 我正在使用Pods插件来创建自定义帖子 . 在那里,我可以添加新的位置 . 对于每个点,我插入纬度和经度 . 现在,当wordpress表工作时,这些值将作为新行添加到表中,其中meta_key是lat或lng,meta_value是该属性的值 .
有没有办法,可能使用嵌套查询,以格式获取数据:
| id | lat | lng |
来自格式的数据:
| id | post_id | meta_key | meta_value
我试图使用查询:
SELECT la.id AS id, la.lat AS lat, ln.lng AS lng
FROM (
SELECT post_id AS id, meta_value AS lat
FROM `wp_postmeta`
WHERE `meta_key` LIKE 'lat'
) AS la, (
SELECT post_id AS id, meta_value AS lng
FROM `wp_postmeta`
WHERE `meta_key` LIKE 'lng'
) AS ln
GROUP BY id
但它只返回纬度的正确值,并且每行重复经度只返回一个值 .
1 回答
首先,您可以避免在MySQL中使用子查询 .
同样,您不需要聚合 . 相反,您需要一个
join
条件: