2017-12-08 2 views
0

GROUP BYを使用したSQLクエリがあります。 他の列にNullだけを持つこのグループだけを選択したいとします。SQLは、他の列にNULLのみがあるグループのみを選択します。

Select HH, TT from TABLE join TABLE... where XX GROUP BY HH 

HH | TT 
1 | Null 
2 | Null 
2 | Test 
3 | Null 
3 | Null 

は私がものだけを持つようにしたい:私は、Oracleによ

HH | TT 
1 | Null 
3 | Null 

答えて

0

これはgroup byhavingで実行できます。列TTの数は0を返します(countはNULLを無視します)。

select HH,max(TT) as TT 
from tbl 
group by HH 
having count(TT)=0 
+0

。ありがとう。 – Submi

0

nvl2両方nullnot null値のために私たちを助け、このような素敵な機能である:それは働いて、私に上記のような同じ結果が得られています

select hh, 'Null' tt 
    from mytable 
group by hh 
having sum(nvl2(tt,1,0))=0; 
+0

それは働いていて、私は以下のように同じ結果を出します。ありがとう。 – Submi

+0

@Submiあなたは大歓迎です。 –

関連する問題