Я пытаюсь запросить одну таблицу против другой, используя Python и MySQLdb.Вот что у меня так далеко:
db = MySQLdb.connect( host = 'localhost', user = 'user', passwd=
'password', db = 'vacants')
cursor = db.cursor()
numrows = cursor.rowcount
query = "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;"
cursor.execute(query)
У меня есть один стол, cfs, и другой, вакантные.Я хочу видеть, что для каждой строки в cfs есть свободное место в пределах 100 футов.Таким образом, для (радианы (38.67054) и радианы (-90.22942) мне нужно пройтись по таблице cfs так, чтобы каждая широта и долгота cfs заменяли эти два числа (мы использовали только тестовую широту и долготу)
В конце я хотел бы иметь (в .csv) адрес вакантного свойства, расстояние от вызова для обслуживания и тип вызова (которые являются двумя отдельными полями в базе данных вызовов для службы).как это, что из запроса выше:
![enter image description here](https://i.stack.imgur.com/5JgJq.png)
Вот пример данных - вызовы для сервисных координат:
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