【发布时间】:2020-07-22 15:14:49
【问题描述】:
我有以下多对多表TEAM_USERS,其中包含以下数据:
TEAM_ID USER_ID
1 10
1 3
1 4
1 11
12 10
12 3
12 4
11 3
11 4
18 10
18 7
18 4
18 11
所以,我想获得只有两个用户的 USER_ID IN (3、4) 的 TEAM_ID,在这种情况下是团队 11。但我得到的是团队 1、11 和 12。我只想要第 11 队。
我执行了以下代码,但没有得到预期的结果
SELECT team_id
FROM team_users
WHERE user_profile_id IN (3 , 4)
GROUP BY team_id
HAVING COUNT(DISTINCT user_profile_id) = 2;
这个查询的结果是:
TEAM_ID
1
11
12
所以,任何帮助将不胜感激。
=============== 编辑:列表是唯一的,没有重复
【问题讨论】:
标签: sql database oracle where-clause having-clause