【发布时间】:2015-06-27 07:25:48
【问题描述】:
当我想根据特定的 city_id 从表一中获取所有商店时,你能告诉我如何加入两个表,其中表二中有自己的 geo_lat 和 geo_long 吗?我想获取距离我的商店 25 公里范围内的所有商店。
表一 - 商店: shop_name、店铺描述、town_id
表二 - 城市: city_id、city_name、geo_lat、geo_long
我尝试了很多例子和方法,但没有结果。
我找到了这个距离的代码:
SELECT
id, (
3959 * acos (
cos ( radians(78.3232) )
* cos( radians( lat ) )
* cos( radians( lng ) - radians(65.3234) )
+ sin ( radians(78.3232) )
* sin( radians( lat ) )
)
) AS distance
FROM markers
HAVING distance < 30
ORDER BY distance
LIMIT 0 , 20;
我会非常感谢您的每一个回答。非常感谢。
【问题讨论】:
-
表一的town_id和表二的city_id一样吗?
-
是的,表一中的town_id 相当于表二中的city_id。这意味着当我在表 2 中有一个 city_id: 1 和 city_name: prague 的城市,然后我在表 1 中有一个 town_id: 1 的商店 -> 我的商店的这个城市将是布拉格。