我有以下查询:
$sql = "SELECT * FROM employee AS emp LEFT JOIN tr_bls_date AS bls ON emp.employee_id=bls.employee_id AND employee_id='".$id."'";
基本上,emp
和bls
表都有一个共同的employee_id
字段。我正在通过员工的身份证($id
)寻找某位员工。我在这里做错了什么?
答案 0 :(得分:3)
因为有两个表包含employee_id
,并且服务器在搜索的位置会感到困惑。要解决此问题,请添加源表,例如
ON emp.employee_id = bls.employee_id AND
emp.employee_id = ? // this will search on table employee
答案 1 :(得分:2)
您正在使用left join
,因此您应该使用emp
的别名:
. . .
emp.employee_id=bls.employee_id AND emp.employee_id=. . .
您应该使用left join
中第一个表的别名,因为您始终可以保证它具有值。