子查询中通过函数或其他运算得到的结果列,怎样才能运用到父查询中去? 35
通过as设置列别名也不行,子查询的列别名父查询不认。例如selectcount(*)as"aaa"fromtab_a;想把行数拿到外层查询中去运算:selectt.aaa...
通过as设置列别名也不行,子查询的列别名父查询不认。
例如 select count(*) as "aaa" from tab_a;
想把行数拿到外层查询中去运算:select t.aaa/10*1024*1024*1024 from (select count(*) as "aaa" from tab_a) t
会提示ORA-00904:"T"."AAA"标识符无效,这种应该怎么写?
不要在意这个上面的例子或通过别的语句达成目的,我只是想要这种语句的写法,随便举得例子,真实情况要复杂得多。
当然,直接
select t.count(*)/10*1024*1024*1024 from (select count(*) as "aaa" from tab_a) t
这样更不行,一看就是错的。
其实,我就是想要这种语法,例子什么的无所谓啊,随便写的。所以不要用“declare...begin...end”句式,或其他方法实现。
案例还可以是2个子句分别求substr()后的字符串,把结果拿到父语句中去相加拼接,一个意思。试了好多种写法都不行。。。
此外
是ORACLE不是SQL Server 不是MySQL;
是ORACLE不是SQL Server 不是MySQL;
是ORACLE不是SQL Server 不是MySQL;
重要的事情说三遍~ 展开
例如 select count(*) as "aaa" from tab_a;
想把行数拿到外层查询中去运算:select t.aaa/10*1024*1024*1024 from (select count(*) as "aaa" from tab_a) t
会提示ORA-00904:"T"."AAA"标识符无效,这种应该怎么写?
不要在意这个上面的例子或通过别的语句达成目的,我只是想要这种语句的写法,随便举得例子,真实情况要复杂得多。
当然,直接
select t.count(*)/10*1024*1024*1024 from (select count(*) as "aaa" from tab_a) t
这样更不行,一看就是错的。
其实,我就是想要这种语法,例子什么的无所谓啊,随便写的。所以不要用“declare...begin...end”句式,或其他方法实现。
案例还可以是2个子句分别求substr()后的字符串,把结果拿到父语句中去相加拼接,一个意思。试了好多种写法都不行。。。
此外
是ORACLE不是SQL Server 不是MySQL;
是ORACLE不是SQL Server 不是MySQL;
是ORACLE不是SQL Server 不是MySQL;
重要的事情说三遍~ 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询