7

考虑下面的示例表:

Profile_ID  Child_ID

1           1
1           2
1           3

2           1
2           2

3           1
3           2
3           3
3           5

我想构建一个 SQL 查询,它为我提供适用于孩子 1 和 2 和 3 的配置文件 ID...这意味着 profile_ID 2 不会出现在结果中,因为配置文件 2 仅适用于孩子 1 和 2 ..但我希望包含配置文件 3。

我的想法与此类似

SELECT Profile_ID
FROM table
WHERE Child_ID IN (1 AND 2 AND 3)

现在,我很清楚它IN作为一个函数......有没有类似的方法可以用一个而不是一个OR类似的方法来实现与IN子句类似的功能?ANDOR

提前感谢您的所有帮助。

4

1 回答 1

7

试试这个:

select profile_id from t
where child_id in (1, 2 ,3)
group by profile_id
having count(distinct child_id) = 3

这是玩的小提琴。

注意:确保与子句3中的项目数量相匹配。in

于 2012-04-29T18:57:37.950 回答