我有 3 张桌子:
users
+---------+
|id | name|
+---------+
|1 | Tom |
|2 | Adam|
+---------+
skills
+------------+
|id |name |
+------------+
|1 |baking |
|2 |driving|
|3 |etc |
+------------+
users_skills
+-----------------+
|user_id |skill_id|
+-----------------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
+-----------------+
所以结果我有两个用户:
- 汤姆有 1 和 2 技能
- 亚当拥有 1 和 2 和 3 技能
我想获得所有具有技能 1 和 2 的用户,所以我想获得 Tom。如何做到这一点?
如果我想获得具有技能 1 或技能 2 的用户 - 这不是问题,但它是 :(
基本上我试图将用户加入 users_skills 表,但我得到了这样的结果:
+-----------------------+
|user_id |name |sill_id|
+-----------------------+
|1 |Tom | 1 |
|1 |Tom | 2 |
+-----------------------+
etc
所以我有两行,我不知道如何在这里实现 AND 语句。