这是我的数据库相关部分的简化版本:
Person:
id
PersonSkills:
person_id
skillname
ability
Position:
id
PositionSkills:
position_id
skillname
ability
一个人可以有任意数量的 PersonSkills,假设在这个例子中,我们的用户有 6 个。一个职位可以需要任意数量的 PositionSkills,比如说在这个例子中,这个职位需要 3 个。我需要一个查询来确定所有的与此职位关联的 PositionSkills 存在于与此人关联的 PersonSkills 中。(我还需要确保 PersonSkill 的能力大于 PositionSkill 的能力,但我认为一旦我找出了在这里给我带来麻烦的部分,那就很简单了。)
在此先感谢,杰森
编辑
以下是有关我正在寻找的内容的更多详细信息:
PersonSkills
+-------------+---------+---------+
| person_id | skill | ability |
+-------------+---------+---------+
| 1 | A | 5 |
| 1 | B | 4 |
| 1 | C | 5 |
| 1 | D | 4 |
| 1 | E | 5 |
+-------------+---------+---------+
PositionSkills
+-------------+---------+---------+
| position_id | skill | ability |
+-------------+---------+---------+
| 5 | A | 3 |
| 5 | B | 3 |
| 5 | C | 3 |
| 6 | A | 3 |
| 6 | B | 3 |
| 6 | Z | 3 |
+-------------+---------+---------+
从我是用户 1 的事实来看,我想要一个查询来告诉我我有资格担任职位 5,因为我具有所需的技能 A、B 和 C,但我不符合职位 6 的资格,因为我缺乏技能Z
再次感谢,杰森