子查询中通过函数或其他运算得到的结果列,怎样才能运用到父查询中去? 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;
重要的事情说三遍~
展开
 我来答
benben239
2015-10-25 · TA获得超过864个赞
知道小有建树答主
回答量:612
采纳率:100%
帮助的人:494万
展开全部
在T-SQL中没有双引号 只有单引号
但是你上面的"aaa"可以直接去掉双引号为 select count(*) as aaa from tab_a
更多追问追答
追问
这个不影响  双引号也能用
问题是aaa出不了子查询的圆括号
追答
我吧你代码复制出来运行了下除了两个大括号  是全角的其他都没错
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式