質問: エラー2「無効な識別子です」 ora-00904: "d"."dept": 無効な識別子です。 先ほども似たような質問をしましたが原因がよく分からないなのでご存知の方教えていただければ幸いです。 select d.deptno, e.ename, e.sal from emp e, dept d where e.sal >any (select max(e.sal) from dept d, emp e group by d.dept) sql> describe emp; 名前 null? 型 ----------------------------------------- -------- ---------------------------- empno not null number(4) ename varchar2(10) job varchar2(9) mgr number(4) hiredate date sal number(7,2) comm number(7,2) deptno not null number(2) sql> describe dept; 名前 null? 型 ----------------------------------------- -------- ---------------------------- deptno not null number(2) dname varchar2(14) loc varchar2(13)
回答: 続きです。 よく見ると?なところが何箇所かありますね。 select d.deptno, e.ename, e.sal from emp e, dept d where e.sal >any (select max(e.sal) from dept d, emp e group by d.dept) empとdeptを結合していないですね。 これではemp×dept行数出てきてしまいますよ。 d.deptno=e.deptnoであるなら、出力したいのはempの項目だけでdeptの項目はいらない、つまりdeptを結合しなくてもよさそうですが。 何を求めようとしているのでしょうか?