oracle游标求解

bufan2162 2010-01-06 07:51:15
输入日志表TICKET_IN_MSG


字段名 字段类型 字段描述 字段约束
TICKET_IN_ID NUNBER(9) 日志标识 PRIMARY
MODULE_ID NUMBER(3) 模块号 NOT NULL
BUSINESS_ID NUMBER(3) 业务号 NOT NULL
TICKET_COUNT NUMBER(9) 条数 NOT NULL
STATE_DATE DATE 处理日期 NOT NULL

输出日志表 TICKET_OUT_MSG

字段名 字段类型 字段描述 字段约束
TICKET_OUT_ID NUNBER(9) 日志标识 PRIMARY
MODULE_ID NUMBER(3)   模块号 NOT NULL
BUSINESS_ID NUMBER(3) 业务号 NOT NULL
TICKET_TYPE NUMBER(3) 条类型(1:正确;2:错误) NOT NULL
TICKET_COUNT NUMBER(9)条数 NOT NULL
STATE_DATE DATE 处理日期 NOT NULL

MODULE模块表
MODULEID , MODULENAME
BUSINESS业务表
BUSINESSID,BUSINESSNAME

得出下列并插入到另一张新表:
模块名称 业务名称 输入条数 输出正确条数 输出错误条数

求解法!
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
suiziguo 2010-01-07
  • 打赏
  • 举报
回复
insert into your_new_table
select c.MODULENAME,d.BUSINESSNAME,nvl(sum(a.TICKET_COUNT),0),nvl(sum(b1.TICKET_COUNT),0),nvl(sum(b2.TICKET_COUNT),0) from TICKET_IN_MSG a,TICKET_OUT_MSG b1,TICKET_OUT_MSG b2,MODULE c,BUSINESS d where a.MODULE_ID(+)=c.MODULEID and b1.MODULE_ID(+)=c.MODULEID and b2.MODULE_ID(+)=c.MODULEID and a.BUSINESS_ID(+)=d.BUSINESSID and b1.BUSINESS_ID(+)=d.BUSINESSID and b2.BUSINESS_ID(+)=d.BUSINESSID and b1.TICKET_TYPE=1 and b2.TICKET_TYPE=2 group by c.MODULENAME,d.BUSINESSNAME;
sharpidd 2010-01-07
  • 打赏
  • 举报
回复
怪怪得,SQL可以执行吗?
bufan2162 2010-01-07
  • 打赏
  • 举报
回复
不对
maitianhust 2010-01-06
  • 打赏
  • 举报
回复
UP,狂浪出马,一个顶两个,相信他。
[Quote=引用 3 楼 wildwave 的回复:]
select c.modulename,
  d.businessname,
  count(1)c_in,
  count(decode(b.ticket_type,1,1))c_right,
  count(decode(b.ticket_type,2,1))c_wrong
from TICKET_IN_MSG a left join TICKET_OUT_MSG b
  on a.module_id=b.module_id
    and a.business_id=b.business_id
join MODULE c on a.module_id=c.moduleid
join business d on a.business_id=c.businessid
group by a.module_id,c.modulename,a.business_id, d.businessname
[/Quote]
小灰狼W 2010-01-06
  • 打赏
  • 举报
回复
select c.modulename,
d.businessname,
count(1)c_in,
count(decode(b.ticket_type,1,1))c_right,
count(decode(b.ticket_type,2,1))c_wrong
from TICKET_IN_MSG a left join TICKET_OUT_MSG b
on a.module_id=b.module_id
and a.business_id=b.business_id
join MODULE c on a.module_id=c.moduleid
join business d on a.business_id=c.businessid
group by a.module_id,c.modulename,a.business_id, d.businessname
bufan2162 2010-01-06
  • 打赏
  • 举报
回复
1楼你母亲的。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧