0
我有一個單獨的map
字段,其中包含用分號分隔的緯度和經度。我需要做的是將兩者分開,然後從另一個給定的經度和緯度進行計算,以計算差異。重複使用WHERE子句中的多個變量
請注意,請忽略......我如何拆分地圖字符串字段,b.id = a.id以及我正在做的經緯度計算。他們在這裏並不重要。
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
時間重新選擇映射值。
第二次看。我想我誤解了你的問題。你有看看:http://dev.mysql.com/doc/refman/5.0/en/user-variables.html – 2012-03-21 01:27:38
我不明白你的問題。 SQL中的'lat'是一個不同於你的PHP變量'$ lat'的變量嗎? – staticsan 2012-03-21 02:20:33