2016-12-20 13 views
-4

値これは、いくつかのサンプルデータと私のテーブルです:SQL ServerのCOALESCEおよびGROUP BYが

City  Supplier Month 
------------------------- 
Bangalore 0  NULL 
Chennai  0  NULL 
Chennai  2  11 
Chennai  1  10 

私は私が取るしようとしている

City  Supplier Month 
--------------------------- 
Bangalore 0  NULL 
Chennai  2  11 
Chennai  1  10 

として結果を取得しようとしています各都市では、行がNULLでない行のみが表示されます(この行が唯一の行でなければ、私はそれを必要とします)。

私はGROUP BYCOALESCEの機能を試しましたが、何も動作していないようです。誰でも私を助けてくれますか?

答えて

1

私はこの

select  City,Supplier,Month 

from  (select  City,Supplier,Month 
         ,count(*) over (partition by City) as cnt 

      from  t 
      ) t 

where  Month is not null 
     or cnt = 1 
に賭けています