一个麻烦的SQL问题,表的横轴变纵轴,该怎么办? select sum(decode(商品,0001,0,商品)),sum(decode(商品,0002,0,商品)),.........from your_tab group by 月份 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select sum(decode(商品,0001,0,商品)),sum(decode(商品,0002,0,商品)),.........from your_tab group by 月份 楼上说得没错,不过最好加上别名select sum(decode(商品,0001,0,商品)) 商品1,sum(decode(商品,0002,0,商品)) 商品2 ,.........from your_tab group by 月份 能解释解释为什么要用 decode(商品,0001,0,商品)吗?THX 我觉得应该是这样吧:select 月份,sum(decode(商品id,0001,商品售额,0)) as 商品1,sum(decode(商品,0002,商品售额,0)) as 商品2 ,.........from your_tab group by 月份 问题没这么简单,因为月份是十二个字段,而不是一个字段,怎么能按月份分组呢?应该这样:select '1月' 月份,max(decode(商品,0001,1月)) ID0001,max(decode(商品,0002,1月)) ID0002, ,.......max(decode(商品,0006,1月))id0006 from your_tab unionselect '2月' 月份,max(decode(商品,0001,2月))id0001,max(decode(商品,0002,2月))id0002, ,.......max(decode(商品,0006,2月))id0006 from your_tab ......unionselect '12月' 月份,max(decode(商品,0001,12月))id0001,max(decode(商品,0002,12月))id0002, ,.......max(decode(商品,0006,12月))id0006 from your_tab 这个SQL有些冗长,不知又没更好的办法? 不用0也是可以的。因为SUM某列时其中几行是NULL的话结果还是会出来的。 请帮忙修改一条sql语句??? ODBC链接远程oracle数据库 请教高手:关于分母为0的问题,如何解决 求条sql ,用时间筛选数据 包写入程序失败?? 使用ORACLE保留字CURRENT_TIMESTAMP遇到的一个问题,百思不得其解,请各位指教 PL/SQL表 请为初学Oracle8i(8.1.6)的我推荐几本入门的好书好吗? 急(加密)! 一个存储过程的问题,在线等待!!! 学习Oracle和SQL哪一个更容易点 怎样在sql中调用写的存储过程?
,.........from your_tab group by 月份
,.........from your_tab group by 月份
THX
select 月份,sum(decode(商品id,0001,商品售额,0)) as 商品1,sum(decode(商品,0002,商品售额,0)) as 商品2
,.........from your_tab group by 月份
应该这样:
select '1月' 月份,max(decode(商品,0001,1月)) ID0001,max(decode(商品,0002,1月)) ID0002,
,.......max(decode(商品,0006,1月))id0006 from your_tab
union
select '2月' 月份,max(decode(商品,0001,2月))id0001,max(decode(商品,0002,2月))id0002,
,.......max(decode(商品,0006,2月))id0006 from your_tab
.
.
.
.
.
.
union
select '12月' 月份,max(decode(商品,0001,12月))id0001,max(decode(商品,0002,12月))id0002,
,.......max(decode(商品,0006,12月))id0006 from your_tab 这个SQL有些冗长,不知又没更好的办法?