0

PL/SQL の 3 つのテーブル、従業員、部門、およびマネージャー用の別の従業員を結合しています。しかし、スクリプトを実行するとこのエラーが発生します

Error report:
ORA-06550: line 19, column 9:
PL/SQL: ORA-00918: column ambiguously defined
ORA-06550: line 9, column 3:
PL/SQL: SQL Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

PL/SQL は初めてなので、これらのエラーの意味がわかりません。

エラーが発生するbeginブロック内のselectステートメントは次のとおりです

   select e.first_name||' '||e.last_name AS Employee ,
          m.first_name||' '||m.last_name AS Manager ,
          e.job_id AS jobemp , 
          d.department_name AS Department ,
          e.salary AS Salary
  into ename, manager, jobid, depn, sal
  from employees e join departments d 
          on (e.department_id = d.department_id)
        join employees m
          on (e.manager_id = m.employee_id)
  where salary = (select min(salary) from employees)
  ;

このエラーを特定するのを手伝ってくれる人はいますか? 前もって感謝します。

4

1 に答える 1

4

salarywhere句でどのテーブルから来るかを指定します

    select e.first_name||' '||e.last_name AS Employee , 
          m.first_name||' '||m.last_name AS Manager , 
          e.job_id AS jobemp ,  
          d.department_name AS Department , 
          e.salary AS Salary 
  into ename, manager, jobid, depn, sal 
  from employees e join departments d  
          on (e.department_id = d.department_id) 
        join employees m 
          on (e.manager_id = m.employee_id) 
  where e.salary = (select min(salary) from employees); 
于 2012-10-11T08:36:03.150 に答える