У меня есть одно поле map
, которое содержит широту и долготу, разделенные точкой с запятой. Что мне нужно сделать, это отделить их, а затем выполнить вычисления с другой заданной широтой и долготой, чтобы вычислить разницу.
Обратите внимание, пожалуйста, игнорируйте ... как я разбил поле строки карты, b.id = a.id и вычисления, которые я делаю для lat и long. Они здесь не важны.
WHERE
/* Here's where I get the values for lat and long from the map field */
(
SELECT
/* lat from map field */ as lat,
/* long from map field */ as long
FROM some_table AS b
WHERE b.id = a.id AND b.key = 'map'
)
/* Here's where I use them to do some calculations... */
lat <= (" . ($lat + $radius / 40075) . ")
AND lat >= (" . ($lat - $radius / 40075) . ")
AND long <= (" . ($long + $radius / 40075) . ")
AND long >= (" . ($long - $radius / 40075) . ")
Я знаю, что это не сработает, но я хотел бы знать, как это сделать, чтобы я не переизбирал значение карты каждый раз, когда использую lat
и long
.