У меня есть этот запрос mysql, чтобы сделать радиус поиска, используя Lat и Long в качестве центральной позиции:
$query = sprintf("SELECT Title, DateTime, ( 6371393 * acos( cos( radians('%s') ) * cos( radians( Lat ) ) * cos( radians( Lon ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( Lat ) ) ) ) AS distance FROM Locations HAVING distance < '%s' ORDER BY distance",
mysql_real_escape_string($center_lat),
mysql_real_escape_string($center_lng),
mysql_real_escape_string($center_lat),
mysql_real_escape_string($radius));
Я ввожу широту, долготу и радиус в метрах. Затем выводится заголовок и дата и время, но мне также нужно получить имя пользователя из другой таблицы, используя идентификатор.
Таблицы:
Местоположение
| Title | DateTime | UserID |
Пользователи
| UserID | Username |
Есть ли способ использовать этот запрос с внутренним соединением или левым соединением? Я также открыт для других способов приблизиться к этому для лучшей оптимизации.