具有2个表的特定JOIN

时间:2013-05-23 14:14:22

标签: php mysql

好的,我有2个表,hr_employeeshr_positionshr_positions包含我需要测试的字段designation,看它是否与查询匹配。这是我的情况:

我需要计算特定班次(hr_employees.shift)的所有员工,这些员工是特定状态(hr_employees.status),与特定名称(hr_positions.designation)匹配。< / p>

目前我正在使用以下SQL,但它正在抛出错误。我不确定如何100%加入表格,所以我们为什么做了我们所做的一点解释将有助于我理解这一点。

SELECT count(*) FROM hr_employees he
JOIN hr_positions hp ON he.position = hr_positions.id
WHERE he.id != 0 AND
he.shift = 1 AND
hp.designation != 2

希望这是一个快速的答案。

编辑编辑编辑

'on子句'中的未知列'hr_positions.id'是我得到的错误。

2 个答案:

答案 0 :(得分:2)

SELECT count(*) FROM hr_employees he
JOIN hr_positions hp ON he.position = hp.id
WHERE he.id != 0 AND
he.shift = 1 AND
hp.designation != 2

您的表hr_positions已命名为hp,请使用ON子句中的名称

答案 1 :(得分:0)

检查以下查询,需要指定匹配的id字段

SELECT count(*) FROM hr_employees he
JOIN hr_positions hp ON he.id = hp_positions.id
WHERE he.id != 0 AND
he.shift = 1 AND
hp.designation != 2