如果希望对常见的Oracle异常ORA报错解决方案有系统的了解,请看《ORACLE系列异常总结ORA》。
ORA-00918 未明确定义列 column ambiguously defined
错误如图
错误原因:
一般查询多个表时,不同表有相同名称的字段,在取值时,未指明该字段是哪个表的。
如下:
create table t_a(
aid varchar2(44) primary key,
name varchar2(50),
age number(3,0),
sector varchar2(44));
create table t_sector(
sid varchar2(44) primary key,
name varchar2(50),
pos varchar2(100));
表t_a和表t_sector通过外键表t_a的sector关联
select
aid,name,sid,pos
from t_a a
left join t_sector s on a.sector = s.fid
此时会报错:因为两个表都有name,而此处又未指明name是谁的