我想通过改变场景来使这个请求复杂化。这是原始请求的链接。 这是原始请求的链接。
我有以下称为技能的 MySQL 表。
ID | idUser | 技能 |
---|---|---|
1 | 4 | 1 |
2 | 8 | 4 |
3 | 8 | 9 |
4 | 13 | 9 |
5 | 18 | 2 |
6 | 22 | 1 |
7 | 27 | 2 |
8 | 32 | 4 |
9 | 11 | 2 |
10 | 32 | 9 |
10 | 32 | 7 |
例如,我需要选择同时拥有 idSkill 4 和 9 的所有 idUser(强制性技能)。
但我希望有可能通过可选的 idSkills(如果有的话)进行搜索。
必修技能为 9 和 4
可选技能为7
结果将是 idUser 32。
我想到了这个查询:
SELECT id, idUser, idSkill FROM skills WHERE idSkill IN (9,4,7) GROUP BY idUser HAVING (idSkill IN (9,4))
但它显然不起作用。
非常感谢