【发布时间】:2016-01-08 10:29:12
【问题描述】:
我有两张表,如下图:
tbl_properties 和 tbl_postcodes
它应列出所选邮政编码周围 5 公里范围内的属性。
我正在尝试通过以下查询获得结果,但没有得到正确的结果。
SELECT* FROM (
选择 p.*,
圆形的(
60 * 1.1515 * 1.609344 * 度数(
ACOS(
COS(RADIANS(pc.latitude)) * COS(RADIANS(p.lat)) * COS(RADIANS(pc.longitude - p.lng)) + SIN(RADIANS(pc.@987654329) @)) * SIN(弧度(p.lng))
)
),
2
) AS 距离
FROM properties AS p JOIN postcodes_geo AS pc ON (p.postcode_id = pc.id)
在哪里 p.postcode_id IN (792,790,786,12613) ) AS ftbl WHERE 距离
【问题讨论】:
-
这里已经讨论了可能的解决方案:stackoverflow.com/a/8994850/4737924
-
感谢您的帮助。这一次仅适用于一个位置。但是如果有多个邮政编码,我想搜索记录。
-
您可以使用 UNION 收集多个邮政编码的数据。
-
“没有得到正确的结果”是什么意思?您在寻找最多 5 公里外的房产吗?或至少 5 公里?
-
@awons:UNION 需要更长的时间。如果有其他方法请建议。
标签: php mysql sql properties postal-code