フォームから郵便番号を取得しています。次に、この郵便番号を lng,lat 座標に変換できます。これらはテーブルに保存されているからです。
SELECT lng, lat from postcodeLngLat WHERE postcode = 'CV1'
選択した会場の緯度経度を保存する別のテーブルがあります。
SELECT v.lat, v.lng, v.name, p.lat, p.lng, p.postcode, 'HAVERSINE' AS distance FROM venuepostcodes v, postcodeLngLat p WHERE p.outcode = 'CB6' ORDER BY distance
私がやろうとしているのは、郵便番号 (この場合は CV1) から各会場までの距離を示すデータグリッドを作成することです。Haversine 式が達成しようとしていることを実行する必要があることはわかっていますが、それをどこからクエリに組み込み始めればよいかわかりません。'HAVERSINE'
上記のクエリに入力した場所に式を配置する必要があると思います。
何か案は?
編集
SELECT o.outcode AS lead_postcode, v.venue_name, 6371.0E * ( 2.0E *asin(case when 1.0E < (sqrt(square(sin(((RADIANS(CAST(o.lat AS FLOAT)))-(RADIANS(CAST(v.lat AS FLOAT))))/2.0E)) + (cos(RADIANS(CAST(v.lat AS FLOAT))) * cos(RADIANS(CAST(o.lat AS FLOAT))) * square(sin(((RADIANS(CAST(o.lng AS FLOAT)))-(RADIANS(CAST(v.lng AS FLOAT))))/2.0E))))) then 1.0E else (sqrt(square(sin(((RADIANS(CAST(o.lat AS FLOAT)))-(RADIANS(CAST(v.lat AS FLOAT))))/2.0E)) + (cos(RADIANS(CAST(v.lat AS FLOAT))) * cos(RADIANS(CAST(o.lat AS FLOAT))) * square(sin(((RADIANS(CAST(o.lng AS FLOAT)))-(RADIANS(CAST(v.lng AS FLOAT))))/2.0E))))) end )) AS distance FROM venuepostcodes v, outcodepostcodes o WHERE o.outcode = 'CB6' ORDER BY distance