다소 오랜 시간 동안 쿼리를 처리했는데 그 결과 '# 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 항목은 복잡해 보이지만 마일 반경 거리를 찾는 것입니다. 어떻게 든 그 수식 내에서 'lat'가 어떻게 든 열 목록에 있다고 생각합니까?
미리 도움 주셔서 감사합니다.
당신이 http://stackoverflow.com/questions/431391/php-mysql-how-to-resolve-ambiguous-column-names 살펴 보았다 : 당신은 당신이에서를 조회 할 테이블을 지정해야 - 조인 - 조업? – j08691
내 의견을 DonCallisto의 대답을 참조하십시오. 나는이 문제가 여기에 'lat'를 포함하는 마일 반경 공식을 가지고 있다고 생각하지만 lat는 내가 끌어 당기는 테이블의 칼럼이 아니다. 코드의 해당 부분 만 사용하여 회신을 보내 주셔서 감사합니다. –