根据传入时间,生成该时间当月之前的时间数据。

good_luck_2014 2015-04-07 11:00:54
根据查询条件:比如传入时间20150103为条件,查询当月该时间前的所有时间(20150101、20150102、20150103)每个项目的总和,传入20150110,则生成10个日期列。
我想生成这样的报表数据:
项目号 子项目号 工时数(动态列)...
Prjno Subtask 20150101 20150102 20150103 ...
P9996 P9996-sub002 128 200 150
T0071 T-007-01 40 100 100
.......
怎么做啊?有什么办法吗?
...全文
835 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2015-04-16
  • 打赏
  • 举报
回复
百度下,行转动态列,应该有你的答案
华而不实 2015-04-15
  • 打赏
  • 举报
回复
我觉得你可能要下面这个。。 select trunc(to_date('&date','yyyyMMdd'),'MM') + level-1 as s_date from dual connect by trunc(to_date('&date','yyyyMMdd'),'MM') + level <= to_date('&date','yyyyMMdd')+1 查出连续时间
good_luck_2014 2015-04-09
  • 打赏
  • 举报
回复
谁能解呢?
lyangsoft 2015-04-07
  • 打赏
  • 举报
回复
那就全部按照31天来做就OK了
good_luck_2014 2015-04-07
  • 打赏
  • 举报
回复
引用 2 楼 u012355452 的回复:
貌似直接用查询sql做不出来你要的效果,不过建议用半动态,如: 把2015年的月都列出,然后向里面填数, 1 2 3 4 5 6 7 8 9 10 11 12 30 30 40 30 0 0 0 0 0 0 0 0
不是按月的,是按天的。可以帮写个?
lyangsoft 2015-04-07
  • 打赏
  • 举报
回复
貌似直接用查询sql做不出来你要的效果,不过建议用半动态,如: 把2015年的月都列出,然后向里面填数, 1 2 3 4 5 6 7 8 9 10 11 12 30 30 40 30 0 0 0 0 0 0 0 0
IceIsabel 2015-04-07
  • 打赏
  • 举报
回复
动态行转列,可以参考下面的链接: http://www.cnblogs.com/QQParadise/articles/1712093.html

17,141

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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