Несколько критериев геодиста для одного запроса? - PullRequest
2 голосов
/ 17 марта 2011

Есть ли способ:

а. предоставить два набора критериев геодиста для одного запроса; или
б. Цепочка запросов вместе, чтобы сделать один запрос геодиста, затем другой, основанный на результаты первого?

В качестве альтернативы, есть ли у кого-нибудь еще какие-либо предложения о том, как рассчитать пересечение двух поисков по геодису, как выделено красной областью на следующем изображении:

http://cl.ly/0v3m1L1P3U200l1P2C3d

Спасибо.

1 Ответ

0 голосов
/ 27 мая 2011

Вы можете установить несколько выражений 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 - определенные пользователем константы

...