繁体   English   中英

如何在select语句中向子查询添加列别名?

[英]How to add column alias to subquery in select statement?

我正在尝试运行查询,我在select语句中使用子查询。
这有效:

select   
(select sysdate from dual),   
(select 'municipality' from dual),  
(select count(*) from municipality)  
from dual;  

但是生成的列名很难看,因此我想添加列别名。

我正在尝试运行以下查询:

select   
(select sysdate from dual) as sysdate,   
(select 'municipality' from dual) as tablename,  
(select count(*) from municipality) as count  
from dual;

这与ORA 00923失败:从找不到预期错误的关键字。 不知怎的,我错过了一些东西。

有什么建议?

谢谢。

尝试用双引号包装它,

select
   (select sysdate from dual) as "sysdate",
   (select 'municipality' from dual) as "tablename",
   (select count(*) from municipality) as "count"
from dual;

SysDate是保留关键字。 虽然, COUNT是一个聚合函数,但允许使用它。

您在代码中唯一的错误是使用关键字sysdate并将其计为别名,这是禁止的......使用AS也是可选的。 这按预期工作:

select   
 (select sysdate from dual)  s_date,            -- NOT sysdate
 (select 'municipality' from dual)  tablename,  
 (select count(*) from dual) as cnt             -- NOT count
 from dual;

使用计数是可以的,但在现实世界中,这是不可取的,并且pro-s不会使用关键字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM