我有以下查询:
$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 ( $id
) 寻找某个员工。我在这里做错了什么?
我有以下查询:
$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 ( $id
) 寻找某个员工。我在这里做错了什么?
因为有两个表包含employee_id
并且服务器很困惑它将在哪里搜索。要解决此问题,请添加源表,例如。
ON emp.employee_id = bls.employee_id AND
emp.employee_id = ? // this will search on table employee
你正在做一个left join
,所以你应该使用别名emp
:
. . .
emp.employee_id=bls.employee_id AND emp.employee_id=. . .
您应该使用 a 中第一个表的别名,left join
因为您始终可以保证它具有值。