需要SQL查询才能找到此结果

时间:2017-04-02 09:39:51

标签: sql

这是包含数据的源表

PARENT_ID   PARENT_NAME CHILD_GENDER
------------------------------------
1111        AAA         M
1111        AAA         F
1234        BBB         M
1234        BBB         M
1235        CCC         M
1236        DDD         F
1236        DDD         F
1236        DDD         M
1237        EEE         M
1237        EEE         M
1237        EEE         F
1238        FFF         F
1239        GGG         F
1239        GGG         F

我需要找出有{M& M& F。

所需的输出是:

Parent_ID

什么是SQL查询?

1 个答案:

答案 0 :(得分:2)

您可以使用聚合来查找具有两种性别子项的parent_id(因此是非重复计数2),并与原始表连接以获取相应的行。

select t.*
from your_table t
join (
    select parent_id
    from your_table
    group by parent_id
    having count(distinct child_gender) = 2
    ) t2 on t.parent_id = t2.parent_id;