oracle怎么行列转换

奶油妹纸 2013-05-17 11:33:13
理想中是显示成这样:

公司 年总计报表
2010年 2011年 2012年 2013年 总计
金额(万元) 300 400 500 600 1800

现实中显示成了这样:

年份 金额
2010 2323
2011 123
2012 123
2013 123

我用DevExpress的GridControl控件做的,我需要改数据库的语句,还是改控件属性代码什么的呢?我用vs2010winfrom窗体做的。

代码里,直接就是 gridcontrol.DataSource = dt; 绑定的数据库。

然后数据库里是是酱紫的:
select substr(DATE,0,4) as 年份,sum(PRICE) as 金额 from 表
GROUP BY SUBSTR(DATE,0,4)
...全文
70 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hh7yx 2013-05-17
这个在数据库层面就可以搞定丫。类似如下 select sum(decode(t.year,'2012',t.amount,0)) ,sum(t.year,'2013',t.amount,0)..,sum(t.amount) from t
回复
sych888 2013-05-17
11g有PIVOT、UNPIVOT函数可以用 其他版本可以用DECODE或CASE来处理
回复
基本的行转列 判断下就可以了
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-05-17 11:33
社区公告
暂无公告