2016-11-08 19 views
0

私は次の表に、顧客が予約を行うチャンネルを提示A(これは単なるサンプルです)しました:作成グループ

custNum channelType reservationNumber 
1  web   1 
2  Iphone  2 
1  Android  3 
3  web   4 

を、私は顧客の3つの群間で分離しようとしています(私は彼らのカスト番号を取得したいのですが):上記のサンプルの下の両方

を使用
3.顧客にのみ、細胞のチャンネルを使用する唯一のウェブ
2.顧客を使用
1.顧客を、結果はb E:
1.ウェブのみ(custNum = 3)
2.細胞のみ(custNum = 2)
3.ウェブ+細胞(custNum = 1)Iは、ウェブusesrのみのために以下を試みたのだ

(しかし私はそれが間違っていることを知っています):

sel custNum from A where channelType in ('web'); 

助けていただければ幸いです。あなたはこのようないくつかの条件付きの集約を行う必要があり

答えて

1

select custNum, 
    case 
     when max(case when channelType = 'web' then 1 else 2 end) = 1 
     then 'web only' 
     when max(case when channelType = 'web' then 2 else 1 end) = 1 
     then 'celular only' 
     else 'both' 
    end 
from tab 
group by custNum 
+0

はどうもありがとうございました!! – staove7

関連する問題