1.一开始看到这个报错,就是去看自己查询中涉及到的列名有没有重复的,查看了一番后,没有重复的列,百度后没找到想要的结果,但得到了启发,抱着试一试的心态,收获了惊喜,问题得到解决。解决办法:把其中相同的列起别名,在执行插入表的操作,具体往下看。
2.初始的语句:
单独执行这个语句不会报错
select a.phone_num,a.cust_id,a.user_id,a.offer_id,a.order_name,
a.create_date,a.order_date,a.delivery_date,b.user_id_b ,c.user_id
from linda_resultA a,
linda_resultB b,
linda_resultC c,
where a.user_id=b.user_id_b and b.user_id_a=c.user_id ;
3.在查询的同时把查询到的数据放到新建的表里
执行这个语句:则报错ORA-00957: 重复的列名
create table linda_result as select a.phone_num,a.cust_id,a.user_id,a.offer_id,a.order_name,
a.create_date,a.order_date,a.delivery_date,b.user_id_b ,c.user_id,
from linda_resultA a,
linda_resultB b,
linda_resultC c,
where a.user_id=b.user_id_b and b.user_id_a=c.user_id ;
解决办法:查询中出现了a.user_id,c.user_id,再查询插入表的时候,给其中一个字段起别名就不会报错了。
create table linda_result as select a.phone_num,a.cust_id,a.user_id,a.offer_id,a.order_name,
a.create_date,a.order_date,a.delivery_date,b.user_id_b ,c.user_id c_user_id,
from linda_resultA a,
linda_resultB b,
linda_resultC c,
where a.user_id=b.user_id_b and b.user_id_a=c.user_id ;