将数据从一个表插入到另一个表时出现列不匹配错误

a8jjtwal  于 2022-09-27  发布在  Hive
关注(0)|答案(1)|浏览(834)

我试图将数据从一个表插入到另一个表,jud_pers_record_leg_proced_update_202208是eden_es_master_db的副本。jud_pers_record_leg_proced,但当我在insert查询中使用select-destinct时,它会考虑eden_es_master_db。jud_pers_record_leg_proced只有那些不同的列,

INSERT INTO eden_es_master_db.jud_pers_record_leg_proced_update_202208 partition(edenloaddate) 
select distinct edenloaddate, newidentifierlegalproceeding 
from eden_es_master_db.jud_pers_record_leg_proced 
where personidentifiercao IN (select cao from eden_es_dynamic.fisbajas where cao is not null);

下面是错误消息

错误:编译语句时出错:FAILED:SemanticException[Error 10044]:行1:12无法插入目标表,因为列号/类型不同“edenloaddate”:表insclause-0有21列,但查询有2列。(状态=42000,代码=10044)

xpszyzbs

xpszyzbs1#

要加载到分区表中,您需要确保最后一列始终是分区列,所以像这样更改SQL-

INSERT INTO eden_es_master_db.jud_pers_record_leg_proced_update_202208 partition(edenloaddate) 
select distinct edenloaddate, newidentifierlegalproceeding , edenloaddate -- last partition column
from eden_es_master_db.jud_pers_record_leg_proced 
where personidentifiercao IN (select cao from eden_es_dynamic.fisbajas where cao is not null);

相关问题