日期:2014-05-16 浏览次数:21131 次
select c.tskillgrp_code,
nvl(sum(case
when b.composite_timeout = '0' and b.handle_timeout = '0' and
b.reply_timeout = '0' and b.archive_timeout = '0' then
1
end),
0) notTimeoutCount,
nvl(sum(case
when b.composite_timeout = '1' then
1
else
0
end),
0) compositeCount,
nvl(sum(case
when b.handle_timeout = '1' then
1
else
0
end),
0) handleCount,
nvl(sum(case
when b.sreply_timeout = '1' then
1
else
0
end),
0) replyCount,
nvl(sum(case
when b.archive_timeout = '1' then
1
else
0
end),
0) archiveCount,
nvl(count(t.case_no), 0) allCount
from table_one t, table_two b, table_three c
where t.case_no = b.case_no
and t.case_no = c.case_no
and c.deal_flag = '3'
group by c.tskillgrp_code
------解决方案--------------------
额,表的索引页不经建太多,建多了也影响查询速度的。
select d.tskillgrp_code,
sum(notTimeout) notTimeoutCount,
sum(composite) compositeCount,
sum(handleCount) handleCount,
sum(reply) replyCount,
sum(archive) archiveCount,
count(t.case_no) allCount
from (select c.tskillgrp_code,
case
when b.composite_timeout = '0' and b.handle_timeout = '0' and
b.reply_timeout = '' 0
'' and b.archive_timeout = '' 0 '' then
1
end notTimeout,
case
when b.composite_timeout = '1' then
1
else
0
end composite,
case
when b.handle_timeout = '' 1 '' then
1
else
0
end handle,
case
when b.sreply_timeout = '' 1 '' then
1
else
0
end reply,
case
when b.archive_timeout = '1' then
1
else
0
end archive,
t.case_no
from table_one t, table_two b, table_three c
where t.case_no = b.case_no
and t.case_no = c.case_no
and c.deal_flag = '3') d
group by d.tskillgrp_code