MySQL Search Item и все объекты на расстоянии - PullRequest
1 голос
/ 01 февраля 2012

У меня есть запрос, который ищет все строки на некотором расстоянии в соответствии с географическими координатами:

SELECT LOCATIONS.*, 
       ( ( ACOS(
                  SIN(" . $location->Lat . " * PI() / 180)
                  * SIN(LAT * PI() / 180) 
                  +
                  COS(" . $location->Lat . " * PI() / 180)
                  * COS(LAT * PI() / 180) 
                  * COS( ( " . $location->Lng . " - LNG ) * PI() / 180)
               )
               * 180 / PI()
         )
         * 60 * 1.1515
       ) AS DISTANCE 
FROM   LOCATIONS 
HAVING DISTANCE <= 100 
ORDER  BY DISTANCE ASC 

Мне интересно, можно ли найти первую запись таблицы, а затем рассматривать ее как базу - использовать ее координаты lat и lng?

Я пытался добиться этого с помощью подзапроса - , но безуспешно .

Кто-нибудь может дать мне предложение?

1 Ответ

1 голос
/ 01 февраля 2012

Поместите «базовую» запись во временную таблицу, используя CREATE TEMPORARY TABLE AS SELECT ... LIMIT 1. Затем соединитесь с временной таблицей из запроса выше.

См. http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...