我有一個相當長的查詢,我一直在處理這個問題是拋出錯誤'#1052 - Column 'lat'在字段列表中是不明確的'。我已經把它分成了幾部分,每個部分似乎都能正常工作,但是當我一次運行它時,我得到這個錯誤。下面是該查詢:#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東西看起來很複雜,但它是要找到一個英里半徑距離。我認爲,不知何故,這些公式中的'拉特'是以某種方式在列表中列出的?
在此先感謝您的幫助!
你有沒有看着http://stackoverflow.com/questions/431391/php-mysql-how-to-resolve-ambiguous-column-names -in聯接操作? – j08691
請看我對DonCallisto的回答的評論。我認爲這裏的問題是英里半徑公式,其中包括'lat',但lat不是我正在拉的表中的一列。我只使用該部分代碼來計算距離 –