2017-04-02 40 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