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

このメッセージは、FROMセクションに配置した複数のテーブルにmanager_id列が存在することを意味します。フィールド名の前にテーブル名を付けます(たとえば、employeeを意味する場合は「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 に答える