「#1052 - フィールド リストの列 'lat' があいまいです」というエラーをスローする、かなり長いクエリを使用しています。パーツに分割しましたが、各パーツは正常に動作しているように見えますが、一度に実行するとこのエラーが発生します。クエリは次のとおりです。
SELECT lesson_requests_global_2.student_name,
(3959 * ACOS(COS(RADIANS(30.096595)) * COS(RADIANS(lat)) * COS(RADIANS(lng) - RADIANS(- 81.718983)) + SIN(RADIANS(30.096595)) * SIN(RADIANS(lat)))) AS distance,
lesson_requests_vendor.user_purchased
FROM lesson_requests_global_2
INNER JOIN
( SELECT student_name,
MAX(request_date) AS max_request_date
FROM lesson_requests_global_2
WHERE ( 3959 * ACOS(COS(RADIANS(30.096595)) * COS(RADIANS(lat)) * COS(RADIANS(lng) - RADIANS(- 81.718983)) + SIN(RADIANS(30.096595)) * SIN(RADIANS(lat))) ) < 30
GROUP BY student_name ) AS recent_student_lesson_request ON lesson_requests_global_2.student_name = recent_student_lesson_request.student_name
AND lesson_requests_global_2.request_date = recent_student_lesson_request.max_request_date
LEFT JOIN lesson_requests_vendor ON v.user_purchased = lesson_requests_global_2.student_name
WHERE lesson_requests_vendor.user_purchased <> 'bob jones'
AND distance < 30
ORDER BY distance LIMIT 0 , 20
長い COS/RADIANS は複雑に見えますが、半径 1 マイルの距離を見つけることであることに注意してください。どういうわけか、それらの数式内の「lat」が列リストにあると考えていると思いますか?
よろしくお願いします。