我在下面的表格A(这只是样本)中显示了客户预订的渠道:
custNum channelType reservationNumber
1 web 1
2 Iphone 2
1 Android 3
3 web 4
我试图将3组客户分开(我想获得他们的客户号码):
1.仅使用网络的客户
2.仅使用蜂窝信道的客户
3.同时使用两者的客户
根据上述样本,结果应为:
1.仅限网络(custNum = 3)
2.仅蜂窝(custNum = 2)
3. web + cellular(custNum = 1)
我仅针对网络使用者尝试了以下内容(但我知道这是错误的):
sel custNum from A where channelType in ('web');
任何帮助将不胜感激。
答案 0 :(得分: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