MySQL查询邮编到点

时间:2017-05-23 05:58:36

标签: mysql

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

有没有办法将此作为单一,有效的查询?

0 个答案:

没有答案