0
ストアドプロシージャを実行しようとするとこのエラーが発生します。ストアドプロシージャエラーの不明な列mySQL
mysql> call get_nearby;
ERROR 1054(42S22):私が持っている
CREATE PROCEDURE get_nearby() BEGIN SET @lat = 10; set @long = 12; SELECT id, @long - radius/abs(cos(radians(@lat)) * 69) as longRadius, (radius/69) as latRadius FROM area WHERE longitude between @long + longRadius and @long - longRadius AND latitude between @lat + latRadius and @long - latRadius; END
:不明欄の 'longRadius' 'WHERE句' ここ
は、ストアドプロシージャを作成するためのSQLがありますなぜそれが記載された列名を認識していないのか分かりません。当面は@latと@longを設定してテストを簡単にしています。
ご協力いただければ幸いです。
where句で列別名を使用することはできません。 http://stackoverflow.com/a/942592/4843530を参照してください。 – AgapwIesu
今日のヒント:派生テーブルを使用してください! – jarlh