簡體   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