在 netezza 中使用“创建外部表”命令时无法获取别名

问题描述

  1. 我无法获取第一列的别名
    例如我的查询是:

    创建外部表 '' USING (DELIMETER ',' INCLUDEHEADER REMOTESOURCE 'YES') as
    选择 'ABC' 作为 TABLENAME,
    Count(1) AS Row_Count 来自美国广播公司;

在这种情况下,我在 .csv 文件中的输出是:

,ROW_COUNT
ABC,20000

这里我没有得到第一个别名 'TABLENAME'

  1. 当我的选择语句包含“COALESCE”函数时,我无法获得别名
    例如我的查询是:

    创建外部表 '' USING (DELIMETER ',' INCLUDEHEADER REMOTESOURCE 'YES') as
    选择 'ABC' 作为 TABLENAME,
    Coalesce(Sum(COLUMN1),0) 作为 COLUMN1,
    Sum(COLUMN2) 为 COLUMN2,
    Coalesce(Sum(COLUMN3),0) 作为 COLUMN3
    来自美国广播公司;

在这种情况下,我在 .csv 文件中的输出是:

,COLUMN2,ABC,2123,4535,5652

这里我没有得到第一个别名的列名和我使用了'COALESCE'函数的别名

解决方法

尝试将查询的 SELECT 部分包装在一个简单的子选择中。例如:

Create External Table '' USING (DELIMETER ',' INCLUDEHEADER REMOTESOURCE 'YES') as

SELECT * FROM  (          /* this line added */

     Select 'ABC' as TABLENAME,Count(1) AS Row_Count From ABC

) SUB1                   /* this line added */

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...