现手里有张表,这张表中包含了一年帐期的手机的通话次数数据,想取最近5月,6月,7月个帐期通话次数为0的数据,写都通话次数为0的该怎么写呢
表A
号码 ID
123 2
236 3
258 4
369 5
741 6
789 7
145 8
表b
ID 帐期 通话次数
2 1201 10
2 1202 10
2 1203 10
2 1204 10
2 1205 0
2 1206 0
2 1207 0
4 1207 0
4 1206 0
4 1205 0
3 1204 10
3 1205 0
3 1206 0
3 1207 0select a.* , (select sum(通话次数)from b where a.ID=ID and 通话次数=0 and 帐期 in ('1205','1206','1207')) 次数为0   
from a a我这样写了,有人告诉我是错的,讲通话次数=0不起作用,还有该提数据在判断,我就有点蒙了,请高手指点哈,怎么才能先提数据在判断难得是这样写
select a.*,b.*
from a a,b,b
where a.ID=b.id
and 帐期 in ('1205','1206','1207')
要是这样写的话出来很多条重复的数据
出来就是
号码 ID 帐期 通话次数
123 2 1205 0
123 2 1206 0
123 2 1207 0
258 4 1205 0
258 4 1206 0
258 4 1207 0
236 3 1205 0
236 3 1206 0
我想要的结果是
号码 ID 最近3个月通话次数为0
123 2 0
258 4 0
236 3 0
高手,不好意思,我问了这边讲还是不对,提出问题了
讲要这样的话是提的是4.5.6其中一个月通话次数为0的数据,
讲有两种写法,不是很明白其中一句话请指导啊
一种方法,4,5,6三月加起来,如果为0,即为0
二种方法,4,5,6三个月分开写。
对第一种,加起来,的那句如果为0,即为0
不是很明白,
对第二种大概是这样写的
select *
from temp_andy_hm a
,(select * from rpt_Yb_cdma_tc where 4) b
,(select * from rpt_Yb_cdma_tc where 5) c
,(select * from rpt_Yb_cdma_tc where 6) d
第一种写法是
select *
from(
select a.号
,(select sum(通话次数) from b where  a.prod_id=serv_id 
 and 帐期 in ('11206','11205','11204'))最近3个月通话次数
from bill.rp_Yb_all a
where 产品类型='手机'
) where nvl(最近3个月通话次数,0) = 0
要是第二种写法是有怎么呢