gpt4 book ai didi

mysql - 如何选择与值列表中的每个值配对的值

转载 作者:太空宇宙 更新时间:2023-11-03 12:09:27 25 4
gpt4 key购买 nike

我有一个表格,其中包含这样的行:

+-------------+---------+
| employee_id | role_id |
+-------------+---------+
| 850 | 10 |
| 850 | 20 |
| 850 | 30 |
| 850 | 40 |
| 851 | 10 |
| 851 | 20 |
| 851 | 40 |
| 852 | 10 |
| 852 | 30 |
+-------------+---------+

一个员工不能多次拥有相同的角色,因为 employee_id 和 role_id 组合在一起形成了这个关联表的主键。

我正在尝试选择与 ID 20、30 和 40 配对的所有 employee_id。换句话说,我想要所有具有这三个角色的 employee_id。在上表中,它只会是 employee_id 850。这对我来说有点棘手,因为我想获得所有匹配它的 employee_id,而不仅仅是一个。

除了我的主要问题之外,我正在尝试最终将所有这三个角色合并为一个新角色,角色 90。在上述情况下,第二、第三和第四行将被删除并替换为具有(850, 90) 就可以了。

谢谢!

最佳答案

这是一个集合中的查询。这是一个解决方案:

select employee_id
from atable
where role_id in (20, 30, 40)
group by employee_id
having count(distinct role_id) = 3;

关于mysql - 如何选择与值列表中的每个值配对的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25023508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com