首页 新闻 搜索 专区 学院

关于count(*)问题,请求高手指教!

0
悬赏园豆:50 [待解决问题]

select distinct a.*,b.续费数,round(b.续费数/a.余额不足用户*100,2)||'%' 续费率 from
(select 波次名称,region_name 营业区,area_name 营销中心,staff_name 客户经理,count(*) 余额不足用户 from bill.tmp_yH_xf@to_wjjs
where 波次名称 not like '%乡情网%' and region_name<>'xx市'
and 波次名称 like '%3月%' and region_name='xx分公司'
group by 波次名称,region_name,area_name,staff_name) a,
(select 波次名称,region_name 营业区,area_name 营销中心,staff_name 客户经理, count(*)  续费数 from bill.tmp_yH_xf@to_wjjs 
where is_xf='已续费' and 波次名称 not like '%乡情网%' and region_name<>'xx市'
and 波次名称 like '%3月%' and region_name='xx分公司'
group by 波次名称,region_name,area_name,staff_name ) b
where a.波次名称=b.波次名称 and a.营业区=b.营业区 and a.营销中心=b.营销中心 and a.客户经理=b.客户经理; 这个语句中当红色部分为0时的记录怎么显示不出来?应该怎么修改?

迟来的爱的主页 迟来的爱 | 初学一级 | 园豆:152
提问于:2012-03-23 10:34
< >
分享
所有回答(5)
0

count(1) 续费数,试试这样

--宁静以致远-- | 园豆:364 (菜鸟二级) | 2012-03-23 11:06

改了后结果一样

支持(0) 反对(0) 迟来的爱 | 园豆:152 (初学一级) | 2012-03-23 11:13
0
isnull(count(1),0) as 续费数
邀月 | 园豆:25375 (高人七级) | 2012-03-23 11:19

我试了下,提示标识符不能识别,是不是isnull在oracle里面不能用呢。

支持(0) 反对(0) 迟来的爱 | 园豆:152 (初学一级) | 2012-03-23 15:02
0

你sql没有“关联”,没有的话默认是内关联,“在表中存在至少一个匹配时返回行”。

用 left 。你这个明显是以a为主,b是提供汇总数据的。

邢少 | 园豆:10926 (专家六级) | 2012-03-23 11:42
1

学习了。。。

KivenRo | 园豆:1722 (小虾三级) | 2012-03-23 12:34
0

先看 select 波次名称,region_name 营业区,area_name 营销中心,staff_name 客户经理,count(*) 余额不足用户 from bill.tmp_yH_xf@to_wjjs
where 波次名称 not like '%乡情网%' and region_name<>'xx市'
and 波次名称 like '%3月%' and region_name='xx分公司'
group by 波次名称,region_name,area_name,staff_name) a 裏面 有沒有數據。

如果有的話,就用left

on 2個表關聯一下。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-24 15:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册