编译语句时出错:failed:semanticexception[error 10036]:列名重复:p\u id

t1rydlwq  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(489)

什么时候

SELECT * from hospital_basic 
LEFT JOIN hospital_clinical on hospital_basic.p_id=hospital_clinical.p_id;

它工作得很好,但在创建视图时会出错

CREATE VIEW hospital_view AS
SELECT * from hospital_basic LEFT JOIN 
hospital_clinical on hospital_basic.p_id=hospital_clinical.p_id;
ej83mcc0

ej83mcc01#

您需要为正在选择的列放置一个别名,但您不能这样做 select * 因为表定义的列p\u id将被复制

CREATE VIEW hospital_view AS 
SELECT 
hospital_basic.p_id as hospital_basic_p_id,
hospital_clinical.p_id as hospital_clinical_p_id,
other columns   ...
from hospital_basic LEFT JOIN hospital_clinical on hospital_basic.p_id=hospital_clinical.p_id;

相关问题