我为什么得到"不明确的专栏名称"在这个查询?

时间:2013-04-18 00:52:06

标签: sql sql-server-2008

我有以下查询:

$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)寻找某位员工。我在这里做错了什么?

2 个答案:

答案 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中第一个表的别名,因为您始终可以保证它具有值。