Hive运行SQL查询时报ai列无效引用错误是什么原因?
问题排查与修复
错误根因
CTE 临时表 x 的输出字段仅包含 ci 列,后续关联、查询、分组逻辑依赖的 ai、dt 列都没有被包含在x的返回结果中,引用x.ai时自然会触发列不存在的报错。
修复后的SQL
with x as ( -- 新增后续逻辑需要用到的ai、dt字段 select ci, ai, dt from imp where ai = '589867' and dt = '20210925' ) select count(*), x.dt, ce.c_name from x join c_entity ce on x.ai = ce.ai group by x.dt, ce.c_name
额外优化:给
dt字段增加x.表前缀,避免多表关联时出现同名字段歧义。
内容的提问来源于stack exchange,提问作者DDS
相关产品推荐
相关产品推荐

