0

私は以下のようなテーブルを持っていT1ます:

COL1  COL2                   
---------------
aaa   10 
bbb   20                     
bbb   20                     
bbb   10                     
ccc   30                     
ccc   30                     
aaa   30                     
ddd   30                     

が 1 つだけにマップされているcol1col2が必要です。col1col2

COL1 COL2                   
-----------
ccc 30                     
ddd 30    

私の目標を達成する方法を教えてください。

必要な結果セットを取得するために、次のことを試しました。

select distinct col1, col2 
 from t1 
where col1 in (select col1 
                 from (select distinct col1, col2 from t1) 
                group by col1 
               having count(col2) = 1);

これらの多くの内部クエリを持たない他のオプションは何ですか。

前もって感謝します。

4

2 に答える 2

2
select  Col1
,       max(Col2) as Col2
from    YourTable
group by
        Col1
having  count(distinct Col2) = 1

この句は、1 つのグループにhaving1 つしかないことを確認します。、またはCol2を使用して表示できます。maxminavg

SQL Fiddle での動作を参照してください(Amit Singh に感謝します)。

于 2013-11-05T08:39:46.787 に答える