如何解决Oracle Live SQL 中的错误 -> ORA-00918:列定义不明确
'--create table dept(empid number(4) PRIMARY KEY,ename varchar2(30) not null,sal number(6) not null,design varchar2(30),mgrid number(4),deptid number(2) not null);
--alter table dept add constraint C1 foreign key(mgrid) references dept(empid);
--insert into dept values(1005,'vivek',100000,'Director',null,30);
--insert into dept values(1004,'sumit',70000,'sr manager',1005,10);
--insert into dept values(1003,'amit',60000,'manager',20);
--insert into dept values(1002,'shyam',30000,'clerk',1003,10);
--insert into dept values(1001,'ram',50000,'mgr',10);
select * from dept;
select ename emp_name,ename reporting_off from dept dept3,dept dept4 where dept3.mgrid=dept4.empid(+);
select ename emp_name,dept dept4 where dept3.mgrid=dept4.empid; '
我尝试更改别名,但这并不能解决问题。我该如何纠正?
解决方法
您在此处尝试自联接,当您在选择列表中选择列时,当列存在于 {{1} 中提到的多个表中时,您必须 prefix
}} 子句。
在您的示例中,您选择了列 from
两次,一次用于员工,另一次用于经理,因为您没有在应该引用的表中的列前面加上前缀,导致此处产生歧义。
您已经知道连接条件并基于该前缀列以及我推测的类似内容
ename
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。