好的,我有2个表,hr_employees
和hr_positions
。 hr_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'是我得到的错误。
答案 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