0

好的,我有 2 张桌子,hr_employees并且hr_positions. hr_positions包含一个字段,designation我需要对其进行测试并查看它是否与查询匹配。这是我的情况:

我需要计算特定班次 ( hr_employees.shift) 的所有员工,即特定状态 ( hr_employees.status) 与特定名称 ( hr_positions.designation) 匹配的所有员工。

目前我正在使用以下 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”是我得到的错误。

4

2 回答 2

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 子句中使用该名称

于 2013-05-23T14:21:21.643 回答
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
于 2013-05-23T14:17:16.757 回答