在AWS Athena创建视图时遇重复列名错误,如何区分同名列?
解决AWS Athena创建视图时重复列名报错问题
你遇到的问题核心在于视图要求结果集中的所有列名必须唯一——你的查询同时选取了table1.identifier和table3.identifier,这两列在查询结果里的默认列名都是identifier,创建视图时就会触发重复列名的错误。
解决方法很直接,给这两个重复的列添加别名,让它们的列名在结果集中唯一:
SELECT table1.name, table1.identifier AS table1_identifier, -- 为table1的identifier指定别名 table2.question_instructions, table2.value, table3.identifier AS table3_identifier, -- 为table3的identifier指定别名 table2.date FROM "table1" JOIN table4 ON table1.id = table4.instrument_id JOIN table2 ON table4.id = table2.question_id JOIN table3 ON table2.user_id = table3.user_id WHERE question_id = 'b194424f7fdd41ae9';
你也可以根据业务含义取更直观的别名,比如如果table1是仪器表、table3是用户表,就可以写成AS instrument_identifier和AS user_identifier,这样后续使用视图时也更容易区分各列的业务意义。
修改后的查询再用来创建视图,就不会再出现“Column name 'identifier' specified more than once”的错误了。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

