2017-04-02 50 views
-2

这与数据需要在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 

源表,我需要找出谁与性别两个中号& F.

需要输出的孩子Parent_ID是这样的:

PARENT_ID PARENT_NAME CHILD_GENDER 
------------------------------------ 
1111  AAA   M 
1111  AAA   F 
1236  DDD   F 
1236  DDD   F 
1236  DDD   M 
1237  EEE   M 
1237  EEE   M 
1237  EEE   F 

什么是SQL查询?

+2

你尝试过什么吗? – dasblinkenlight

回答

2

您可以使用聚合来找出具有两个性别(因此不同的计数为2)的孩子的parent_ids,并与您的原始表连接以获取相应的行。

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; 
+0

谢谢GurV ...它的工作 –

+1

零回答问题比回答更好。 – dasblinkenlight

+1

@dasblinkenlight - 可能是这种情况,或者当用户对网站相当陌生时,可能不知道如何提问。 (提供尝试等)。但我认为OP在提供样本数据和预期产出方面仍然做得相当不错。大多数新加入者发布图片(有时甚至没有)。 – GurV