2012-11-14 3 views
0

다음 쿼리를 실행할 때 "where '절의 모호한"manager_id'열과 같은 오류가 발생합니다. 어떻게 해결해야합니까? join 문을 사용한 mysql 쿼리 오류

select * from employee 
join leave_details on leave_details.employee_id=employee.id 
inner join manager on (manager.id=leave_details.manager_id) 
where manager_id=4; 

나는 MANAGER_ID XXX입니다 특정 직원의 휴가 세부 사항을 표시하려면이 쿼리를 사용하고 있습니다.

답변

3

이 메시지는 manager_id 열이 FROM 섹션에 두 개 이상의 테이블에 존재 함을 의미합니다. 필드 이름의 접두사를 테이블 이름으로 지정하십시오 (예 : 직원을 의미하는 경우 "employee.manager_id"). 필요하지 않은 경우에도 좋은 방법입니다.

1

당신은 자격이 있어야합니다 MANAGER_ID :

select * 
from employee 
join leave_details on leave_details.employee_id=employee.id 
inner join manager on (manager.id=leave_details.manager_id) 
where employee.manager_id=4;