0
緯度と経度の両方を保持する単一のmap
フィールドがセミコロンで区切られています。私がしなければならないことは、2つを分けて、別の与えられた緯度と経度から計算してその差を計算することです。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
を使用するので、私はマップ値を再選択していないよ毎回行う方法を知っているように思います。
2番目の表記です。私はあなたの質問を誤解したと思います。あなたは一見した:http://dev.mysql.com/doc/refman/5.0/en/user-variables.html –
私はあなたの質問を理解していない。 SQLの 'lat'はあなたのPHP変数' $ lat'とは異なる変数ですか? – staticsan