2011-03-17 91 views
2

有什么办法可以:一个查询的多个geodist标准?

a。为单个查询提供两组地理标准标准 ;或
b。链查询一起做一个 geodist查询,然后另一个基于 的第一个结果?

另外,没有任何人有关于如何计算的两个基于乔达的搜索交叉口任何其他建议,由红色区域下面的图片中所强调:

http://cl.ly/0v3m1L1P3U200l1P2C3d

感谢。

回答

0

您可以在同一查询中设置多个GEODIST表达式。最后,它看起来像

mysql> SELECT *, GEODIST (x1, y1, lat_attr, lon_attr) as c1, GEODIST (x2, y2, lat_attr, lon_attr) as c2 FROM YOUR_INDEX where c1<blue_dist and c2<yellow_dist 

mysql> SELECT *, GEODIST (x1, y1, lat_attr, lon_attr) as c1, GEODIST (x2, y2, lat_attr, lon_attr) as c2, c1<blue_dist and c2<yellow_dist as yellow_cond FROM YOUR_INDEX where yellow_cond=1 

其中x1,y1,x2,y2,blue_dist,red_dist是用户定义的常量