表1:字段: 日期 字段a 字段b
其中日期字段并不是每月都有记录,比如9月,有可能5月,7月等等在表1中无记录行。
现需要实现用sql取出数据集,该数据集为某年表1中每个月的(12)记录,比如5月,7月没记录,则取出的数据集合应该为
日期 字段a 字段b
01 1 1
02 2 2
. . .
. . .
. . .
05 null null
06 1
07 2 2
. . .
. . .
. . .
12
请问在oracle里用sql语句该如何实现?
其中日期字段并不是每月都有记录,比如9月,有可能5月,7月等等在表1中无记录行。
现需要实现用sql取出数据集,该数据集为某年表1中每个月的(12)记录,比如5月,7月没记录,则取出的数据集合应该为
日期 字段a 字段b
01 1 1
02 2 2
. . .
. . .
. . .
05 null null
06 1
07 2 2
. . .
. . .
. . .
12
请问在oracle里用sql语句该如何实现?
解决方案 »
- 请教Linux 6下安装Oracle 11g r1 错误的解决办法
- 唐老大:测试存储过程,如何给clob类型参数传值
- 怎样删除accept输入的变量
- 关于备份和恢复的一个问题~~
- 找不到 SNAP$_<mview_name>, MVIEW$_<mview_name>,
- proc程序中是否真的不可创建临时表?谢谢各位
- 在windows2003下装Oracle8.16有问题,请各位高手紧急救援!
- pb应用程序不安装客户端连接ORACLE字符现实乱码的问题
- 如何看oracle下一个用户的硬盘使用情况?比如它下面的表占有硬盘空间多大?
- oracle9i中的首选身份证明
- 100分求一个批量更新的SQL性能优化问题
- 有点难度的查询
select 日期,sum(字段a),sum(字段b)
from (
select 日期,字段a,字段b from 表1 union all
select '01',null,null from dual union all
select '02',null,null from dual union all
select '03',null,null from dual union all
select '04',null,null from dual union all
select '05',null,null from dual union all
select '06',null,null from dual union all
select '07',null,null from dual union all
select '08',null,null from dual union all
select '09',null,null from dual union all
select '10',null,null from dual union all
select '11',null,null from dual union all
select '12',null,null from dual
)
group by 日期
比如
select ........ from
(select to_char(rownum,'00')m from all_objects where rownum<13)a,
table1 b
where a.m=to_char(b.date1(+),'mm')
and b.date1(+)<date'2010-1-1'
and b.date1(+)>=date'2009-1-1'
group by a.m
我可能没有说清楚,是这样的 我数据库里呢有个year_mon字段存的是比如200801这样的年月,可是200801-200812这十二个月中有的字段有对应的月数据,有的没有。改如何实现?还有一个问题就是如何根据这个year_mon字段来取出这12个月的每个月的总天数显示啊?