有时需要一个计算列,该列的数据由别的列的数据计算得出。 如:select field1, field2, field1+field2
from table1第三列是计算列。但如果计算列需要从取了别名的列计算得出,就不能直接使用:select .... , sum(count1) "count1", sum(count2) "count2" , "count1"+"count2"
from table1这样的sql会执行提示出错。 需要改成下面的形式,才可以执行:select a."count1", a."count2", a."count1"+a."count2"
from
(select .... , sum(count1) "count1", sum(count2) "count2"
from table1)
别名列好像前面一定要加上表名前缀才可以出现在计算列里面啊。
有没有什么解决方法, 这样好麻烦啊。
from table1第三列是计算列。但如果计算列需要从取了别名的列计算得出,就不能直接使用:select .... , sum(count1) "count1", sum(count2) "count2" , "count1"+"count2"
from table1这样的sql会执行提示出错。 需要改成下面的形式,才可以执行:select a."count1", a."count2", a."count1"+a."count2"
from
(select .... , sum(count1) "count1", sum(count2) "count2"
from table1)
别名列好像前面一定要加上表名前缀才可以出现在计算列里面啊。
有没有什么解决方法, 这样好麻烦啊。
解决方案 »
- oracle 按要求 查询数据,看上简单.... 希望有高人可以做到啊。
- 如下存储过程哪个地方错了?望高手解疑
- 请教如何统计数据库中60天内没有登入过的用户?
- 菜鸟级的问题 Oracle9.2 Redhat 9.0
- 如何能终止oracle9i对127.0.0.1:80的服务,让其释放对此IP占用
- 有经验的同志请帮忙看看:使用PL\SOL Developer时登陆不进去,出现“找不到指定模块”oci.dll的错误。
- 进入oracle
- Oracle里面的char数据类型是标准的JDBC类型吗
- 有关DEVELOPER/2000中建树的问题
- 怎么把数据插入blob字段.
- occi 建立连接的异常捕捉 问题, 请教!
- 救救我吧!!!!
or
select .... , sum(count1) "count1", sum(count2) "count2" , sum(count1) +sum(count2)as "count1+count2"
试试看
from table1
例如:select id iidd from a where iidd=1是错误的,应该select id iidd from a where id=1sum后面不一定要跟group by的
例如:select sum(id),sum(aa),sum(bb),sum(aa+bb),sum(aa)+sum(bb) from a都是可以的
sum后面是不一定要跟GROUP BY
但是如果是:select id,sum(id) from a
以及select id,count(id) from a
以及select id,max(id) from a
就不行了!如果想不用GROUP BY,就用
select id,sum(id)over() from a
以及select id,count(id)over() from a
以及select id,max(id)over() from a()中可以不写,至于写什么就看自己的处理了.
from .......waterfirer(水清) 应该是对的:
在给列定义别名的时候,别名不能在当层语句中使用。所以我用另外一个写法就可以了,因为别名已经用在了上一层。
select a."count1", a."count2", a."count1"+a."count2"
from
(select .... , sum(count1) "count1", sum(count2) "count2"
from table1)那这样说没有比较好的解决方法了。 只有把查询结果作为一个结果集再次查询一次。