2桌
表 geo_postal 包含邮政编码(代码),纬度(纬度)和经度( lng ) )
表 geo_loc 包含帖子ID( post_id ),纬度(纬度)和经度( lng ) )
目前正在运行2个查询以获得所需的结果。是否可以创建单个查询?
SELECT lat, lng
FROM geo_postal
WHERE code = " . $postal_code . "
LIMIT 1
然后在以下查询中使用 $ lat 和 $ lng 的结果:
SELECT
post_id,
( 3959 * acos(
cos( radians(" . $lat . ") ) * cos( radians( lat ) )
* cos( radians( lng ) - radians(" . $lng . ") )
+ sin( radians(" . $lat . ") )
* sin( radians( lat ) ) )
) AS distance
FROM geo_loc
HAVING distance < 25
ORDER BY distance
LIMIT 0, 10
有没有办法将此作为单一,有效的查询?