一个Oracle报表问题

ZhoU-景 2013-12-10 08:46:05
在工作中与到一个报表业务需求,想了半天搞不定,特来请教大神!

情况是这样的,

有一个消费类型字典表A
id 主键
name 类型名称

还有一个消费记录表B
id 主键
year 年份(如:2012,2013)
tid 消费类型ID
money 消费金额

想要得到如下报表

年份\消费类型
类型1 类型2 类型3 ... 小计
2012
2013
...
小计

按消费类型和年份统计消费金额的报表。

分析了一下似乎可以用sql把它搞出来,但自己弄了半天没什么没什么头绪, 请大神指点!

如果用sql不行,只能下后台用java悲催的拼出来了
...全文
184 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CT_LXL 2013-12-11
  • 打赏
  • 举报
回复
引用 3 楼 u010344363 的回复:
类型是不定的,是的个难道! 哪里有类型类似问题的解决方案,求网址,嘿嘿
http://bbs.csdn.net/topics/390652739
ZhoU-景 2013-12-11
  • 打赏
  • 举报
回复
年份和类型都是不固定的, 先查每年每类型消费金额,然后查每年消费总额,再查每个类型消费总额,最后查所有消费总额, 最终用java代码拼出来的
  • 打赏
  • 举报
回复
动态行转列 老问题了 几十个类型 核心就一个 查询所有不同类型拼接起来 建议还是用存储过程做吧 如果服务器无鸭梨 也可以在程序里面拼接
ZhoU-景 2013-12-10
  • 打赏
  • 举报
回复
类型是不定的,是的个难道! 哪里有类型类似问题的解决方案,求网址,嘿嘿
CT_LXL 2013-12-10
  • 打赏
  • 举报
回复
引用 楼主 u010344363 的回复:
在工作中与到一个报表业务需求,想了半天搞不定,特来请教大神! 情况是这样的, 有一个消费类型字典表A id 主键 name 类型名称 还有一个消费记录表B id 主键 year 年份(如:2012,2013) tid 消费类型ID money 消费金额 想要得到如下报表 年份\消费类型 类型1 类型2 类型3 ... 小计 2012 2013 ... 小计 按消费类型和年份统计消费金额的报表。 分析了一下似乎可以用sql把它搞出来,但自己弄了半天没什么没什么头绪, 请大神指点! 如果用sql不行,只能下后台用java悲催的拼出来了
如果你的类型数量不定,暂时还没人能用一个SQL解决。因为论坛里很多人都提过这个问题了,如果你的类型数量固定可以用CASE WHEN 或者DECODE 来固定列名完成统计。
大话EPM 2013-12-10
  • 打赏
  • 举报
回复
这几个你选一个应该可以搞定,不过我不熟悉 GROUP BY 与ROLLUP、CUBE 和GROUPING SETS

3,499

社区成员

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

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