欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

求一sql语句解决思路

更新时间: 2014-01-05 02:13:09 责任编辑: Author_N1

 

求一SQL语句
表A的结构为(
    id
    month  --月份 如 1,5,11
    num     -- 数量

现在要查询结果为
 月份  数量
 1      xx
 2      xx
 3      xx
 4      xx
 ..    ...
 ..    ...
 11     XX
 12     XX
现在当表A中没有12个月全部记录, 比如只有5月 8月的记录, 怎样查询才能得到12个月的记录(没有记录的数量用0填充)
--参考方法--
with
t as (select 3 mon,2 sum from dual union all 
select 4 mon,3 sum from dual union all 
select 5 mon,12 sum from dual union all 
select 10 mon,22 sum from dual)
select t2.mon,nvl(sum,0)
from (select start_mon+level-1 mon
      from (select LEAST(min(mon),1)start_mon,GREATEST(max(mon),12)end_mon from t) t1
      connect by level<=end_mon-start_mon+1)t2,t
where t2.mon=t.mon(+)
order by mon;
--替换t表
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:13:09
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7125/
本文WWW.DOC100.NET DOC100.NET版权所有。