0

当我运行以下查询时,我收到一个错误,如“where 子句中的列'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 manager_id=4;

我正在使用此查询来显示其 manager_id 为 xxx 的特定员工的休假详细信息。

4

2 回答 2

3

此消息意味着 manager_id 列存在于您放入 FROM 部分的多个表中。用表名作为字段名的前缀(例如,如果您指的是员工,则为“employee.manager_id”)——即使没有必要,这也是一个好习惯。

于 2012-11-14T09:34:57.167 回答
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;
于 2012-11-14T09:35:12.873 回答