1

我有以下查询:

$sql = "SELECT * FROM employee AS emp LEFT JOIN tr_bls_date AS bls ON emp.employee_id=bls.employee_id AND employee_id='".$id."'";

基本上,empbls表都有一个共同的employee_id字段。我正在通过员工 ID ( $id) 寻找某个员工。我在这里做错了什么?

4

2 回答 2

3

因为有两个表包含employee_id并且服务器很困惑它将在哪里搜索。要解决此问题,请添加源表,例如。

ON emp.employee_id = bls.employee_id AND 
   emp.employee_id = ?      // this will search on table employee
于 2013-04-18T00:54:10.533 回答
2

你正在做一个left join,所以你应该使用别名emp

. . .
emp.employee_id=bls.employee_id AND emp.employee_id=. . .

您应该使用 a 中第一个表的别名,left join因为您始终可以保证它具有值。

于 2013-04-18T00:53:39.497 回答