机动车检测表(车牌号 VARCHAR(10),检测日期 DATETIME,...) 报表格式如下
车牌号 1 2 3 4 5 6 7 8 9 10 ...31
如果车牌号为0561的1号做过检测,则1号下面,填1,否则为0
后面的车,和日期等同
检测表里,如果今天一辆车做过检测就有一条记录在
问,怎么样才能得到上面报表的统计数量.
知道答案的请告诉我可以吗?写一个oracle存储过程.先谢谢了!
车牌号 1 2 3 4 5 6 7 8 9 10 ...31
如果车牌号为0561的1号做过检测,则1号下面,填1,否则为0
后面的车,和日期等同
检测表里,如果今天一辆车做过检测就有一条记录在
问,怎么样才能得到上面报表的统计数量.
知道答案的请告诉我可以吗?写一个oracle存储过程.先谢谢了!
解决方案 »
- 求帮忙···tnsname.ora出错,配置Net Configuration Assistant 创建本地net服务名 点击无反应
- 菜鸟新手,求帮助啊,大神快来啊。谢谢啊。在线等,急急急急急急急急。
- oracle客户端连接服务器端出现问题
- 请教大家一个查询语句,相信不会耽搁多长时间
- ORACLE冷备份恢复的不了??
- 简单查询问题!!!!!!!!!!!
- 连接和会话的概念
- 聘请JSP/BEA/Oracle辅导老师解决技术问题
- 一个oracle中简单的update问题。
- 有人可以做oracle数据库系统优化与设计的毕业设计不
- dmp导入问题:ORA-01400: 无法将 NULL 插入
- oracle 9i sql plus 无法登录
他写的是sql-server下的,oracle下要转换下
2 在1的基础上按车号排序(其实1应该已经做好了)
3 按1的SQL语句打开游标,扫描记录
4 那天有值就在对应列赋值(如果没这个车记录先X一条)
5 扫描完了就搞定BTW 代码就不写了类似是sql:='select 车号,年月日 from 表 where 年月='''||X年X月||'''group by 车号,年月日 ';
open cCur for sql
loop
fetch cCur into X,Y;
exit when cCur%NOTFOUND;
然后就边扫描边更新记录....end loop;
select 车牌号 ,to_char(检测日期 ,'yyyymm') 月份
sum(decode(to_char(检测日期 ,'dd'),'01',1,0)) “1”
sum(decode(to_char(检测日期 ,'dd'),'02',1,0)) “2”
sum(decode(to_char(检测日期 ,'dd'),'03',1,0)) “3”
.
.
.
.
.
sum(decode(to_char(检测日期 ,'dd'),'31',1,0)) “31”
from a
where 检测日期 between 日期范围
group by 车牌号 ,to_char(检测日期 ,'yyyymm')
8楼的我想只要在sum用decode转换一下就可以得到我想要的功能了!@