我正在尝试从另一个带有额外列的表errcode创建一个名为errtable的表。错误代码表具有以下架构:
id字符串,消息字符串
errtable有一个额外的列,它是app_name
appname字符串,id字符串,消息字符串
我试图运行的查询如下:
INSRT覆盖表ERRTABLE选择${APPLICATION_NAME}作为appname、err.id、err.msg来自(从ERRCODE中选择*)错误;
APPLICATION_NAME是一个常量变量,它通过-d选项(-d APPLICATION _NAME=myapp(传递给我的配置单元脚本。我收到以下错误消息:失败:SemanticException[错误10004]:行4:7无效的表别名或列引用'myapp':(可能的列名为:id,msg(。有人能帮我弄清楚我做错了什么吗?
@Santanu:试试这个,它应该可以
INSERT overwrite table ERRTABLE
SELECT '${APPLICATION_NAME}' as appname, err.id as id, err.msg as msg FROM ERRCODE err;