次のような 2 つのエイリアス ファイルを作成するクエリがあります。
(CASE WHEN `venueID` > 0 THEN `venueLongitude` ELSE `specialLongitude` END) AS `longitude`
(CASE WHEN `venueID` > 0 THEN `venueLatitude` ELSE `specialLatitude` END) AS `latitude`
特定のクエリで使用する経度と緯度を決定します (テーブルには多数の JOIN がありますが、この例では、Gigs
を実行するテーブルから というテーブルNATURAL LEFT JOIN
への JOIN のみVenues
です。
そのビットは正常に機能し、場所の座標を返します。距離計算を行うことに興味があり、それによって注文できます。
距離フィールドは次のようになります。
((ACOS(SIN($lat * PI() / 180) * SIN(`latitude` * PI() / 180) + COS($lat * PI() / 180) * COS(`latitude` * PI() / 180) * COS(($lon - `longitude`) * PI() / 180)) * 180 / PI()) * 60 * 1.1515)
しかし、クエリを実行すると、エラーが発生しますUnknown column 'latitude' in 'field list'
。このようなルックアップを実行する方法を知っている人はいますか。
ps
地理空間クエリを使用できることはわかっていますが、後でさらにクエリに使用できる方法で答えを知りたいです。
SELECT *,(CASE WHEN `a` > 0 THEN `a` ELSE `b` END) AS `x`,(`x` MOD 3) AS `y` FROM `Foo`