问题描述
-
我无法获取第一列的别名
例如我的查询是:创建外部表 '' USING (DELIMETER ',' INCLUDEHEADER REMOTESOURCE 'YES') as
选择 'ABC' 作为 TABLENAME,
Count(1) AS Row_Count 来自美国广播公司;
在这种情况下,我在 .csv 文件中的输出是:
,ROW_COUNT
ABC,20000
这里我没有得到第一个别名 'TABLENAME'
-
当我的选择语句包含“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 */