Мои извинения, если на этот вопрос ответили в другом месте;Я посмотрел и попробовал несколько вещей, но не могу решить эту проблему.
Что я хочу сделать: В MySQL у меня есть одна таблица, содержащая вызовы данных службы из нашего полицейского управления, и другая таблица, содержащая свободные свойства,Каждая таблица имеет поля широты, долготы.Мы хотим знать для каждого вызова на обслуживание, было ли это в пределах 100 футов от вакантной собственности?Вот запрос, который мы написали, используя примерную координату, чтобы проверить, работает ли анализ расстояний:
SELECT
address, (
(20903520)
* acos (
cos ( radians(38.67054) )
* cos( radians( lat ) )
* cos( radians( long ) - radians(-90.22942) )
+ sin ( radians(38.67054) )
* sin( radians( lat ) )
)
) AS distance
FROM vacants
HAVING distance < 100;
Как мне написать цикл для прохождения каждого вызова для местоположения службы и проверки его для каждого свободного местачтобы выяснить, не было ли для каждого звонка свободного места в радиусе 100 футов?Я попытался написать оператор DECLARE, создать переменную COUNTER и использовать синтаксис BEGIN / END.Никто из них, казалось, не достиг этого, хотя, возможно, я просто не писал их правильно.SQL не мой самый сильный;Я предпочитаю Python, но мы думаем, что сделать это с помощью SQL-запроса будет быстрее, чем зацикливать файлы .csv.Около 2,5 миллиона обращаются за сервисными записямиВ конце мы хотим сказать, что «из 2,5 миллионов вызовов на обслуживание X были в пределах 100 футов от вакантной собственности».Я также хотел бы иметь возможность вывести файл .csv с адресом вакантного свойства, расстоянием от расстояния до вызова для обслуживания, найденного вакантным в радиусе 100 футов, и двумя другими полями из вызова.для служебной таблицы (исходный код вызова и код окончательного вызова).
Примерно так, но с добавлением двух полей.Это происходит из предоставленного мною тестового запроса.

Мы также хотим провести обратный анализ, чтобы увидеть, сколько вызовов для обслуживания было в пределах 100- радиус стопы каждого свойства.
Вот пример данных - вызовы координат сервиса:
38.595767638008056,-90.2316138251402
38.57283495467307,-90.24649031378685
38.67497061776659,-90.28415976525395
38.67650431524285,-90.25623757427952
38.591971519414784,-90.27782710145746
38.61272746420862,-90.23292862245287
38.67312983860098,-90.23591869583113
38.625956494342674,-90.18853950906939
38.69044465638584,-90.24339061920696
38.67745024638241,-90.20657832034047`
Координаты свободного свойства:
38.67054,-90.22942
38.642956,-90.21466
38.671535,-90.27293
38.666367,-90.23749
38.65339,-90.23141
38.645996,-90.20334
38.60214,-90.224815
38.67265,-90.214134
38.665504,-90.274414
38.668354,-90.269966`
Спасибо за любую помощь.