先看以下两个语句:
select decode(grouping(subsidiaryid),1,'all_amount',subsidiaryid)
,serviceproviderid,sum(amount)
from settlement where billingcycleid=44
group by rollup(serviceproviderid,subsidiaryid)select decode(grouping(subsidiaryid),0,subsidiaryid,'all_amount')
,serviceproviderid,sum(amount)
from settlement where billingcycleid=44
group by rollup(serviceproviderid,subsidiaryid)现在疑问是,为什么第一句是执行成功的,而第二句是错误的,到底是什么原因???
select decode(grouping(subsidiaryid),1,'all_amount',subsidiaryid)
,serviceproviderid,sum(amount)
from settlement where billingcycleid=44
group by rollup(serviceproviderid,subsidiaryid)select decode(grouping(subsidiaryid),0,subsidiaryid,'all_amount')
,serviceproviderid,sum(amount)
from settlement where billingcycleid=44
group by rollup(serviceproviderid,subsidiaryid)现在疑问是,为什么第一句是执行成功的,而第二句是错误的,到底是什么原因???
解决方案 »
- SQL求差語句:想建立一個視圖為每條記錄与前一記錄的差値
- oracle配置问题,急~!
- 关于to_char的两个问题
- ORA-12541: TNS: 没有监听器
- 关于oracle sql developer
- 怎么样才能在后台看到ORACLE响应前台的每一步详情?比如执行什么操作?我想做一个窗口在前台监控后台数据库!怎么做?谢谢!来者有分!
- 嵌套执行SQL的问题
- 这个带参数的存储过程怎样写?
- 求助!!!!!!!!
- 用什么方法可以对Oracle数据库进行跟踪?
- pl sql 中copy 命令不能用吗?
- linux 删除 oracle 数据库 (导入的那个.dmp文件 里面的所有数据,包括表空间,表结构,和表里的数据)
首先提示的错误是“ORA_01722:无效数字”。
对于4楼提到的错误,不存在,因为改了用以下的方法:
select decode(grouping(subsidiaryid),1,'all_amount',0,subsidiaryid)
,serviceproviderid,sum(amount)
from settlement where billingcycleid=44
group by rollup(serviceproviderid,subsidiaryid) select decode(grouping(subsidiaryid),0,subsidiaryid,1,'all_amount')
,serviceproviderid,sum(amount)
from settlement where billingcycleid=44
group by rollup(serviceproviderid,subsidiaryid)
照样,第一个成功,第二个失败。
谢谢楼上几位。