2011-09-09 21 views
-1

私は2つの異なるテーブルからデータを取得しようとしていますが、それは動作していません。これは私が完全な声明として得ようとしているものです:私は、dname、loc、Number of Peopleを照会したいと思います。サブクエリに問題があります。2つのテーブルからデータを取得していますか?

SQL> select dname, loc from dept where ename in (count(ename) AS Number_of_People from emp); 
select dname, loc from dept where ename in (count(ename) AS Number_of_People from emp) 
             * 
ERROR at line 1: 
ORA-00934: group function is not allowed here 


SQL> 

表のEMP

SQL> select empno, ename, job, hiredate, deptno from emp; 

EMPNO ENAME  JOB  HIREDATE  DEPTNO 
---------- ---------- --------- --------- ---------- 
    7839 KING  PRESIDENT 17-NOV-81   10 
    7698 BLAKE  MANAGER 01-MAY-81   30 
    7782 CLARK  MANAGER 09-JUN-81   10 
    7566 JONES  MANAGER 02-APR-81   20 
    7654 MARTIN  SALESMAN 28-SEP-81   30 
    7499 ALLEN  SALESMAN 20-FEB-81   30 
    7844 TURNER  SALESMAN 08-SEP-81   30 
    7900 JAMES  CLERK  03-DEC-81   30 
    7521 WARD  SALESMAN 22-FEB-81   30 
    7902 FORD  ANALYST 03-DEC-81   20 
    7369 SMITH  CLERK  17-DEC-80   20 

EMPNO ENAME  JOB  HIREDATE  DEPTNO 
---------- ---------- --------- --------- ---------- 
    7788 SCOTT  ANALYST 09-DEC-82   20 
    7876 ADAMS  CLERK  12-JAN-83   20 
    7934 MILLER  CLERK  23-JAN-82   10 

14 rows selected. 

SQL> 

表dept

SQL> select * from dept; 

DEPTNO DNAME   LOC 
    ---------- -------------- ------------- 
    10 ACCOUNTING  NEW YORK 
    20 RESEARCH  DALLAS 
    30 SALES   CHICAGO 
    40 OPERATIONS  BOSTON 

    SQL> 
+0

を試してみてください?あなたのテーブルではっきりしない... – Sparky

答えて

0

あなたはこれを達成しようとしていますか?

select dname, loc, (select count(ename) from emp where DEPTNO = dept.deptno) as Number_of_people 
from dept; 
0

私はあなたが何をしようとしてわからないんだけど、突き出し何かが、あなたはおそらく使用する必要があるということですサブクエリのselect試してください:

select dname, loc 
from dept 
where ename in (select count(ename) AS Number_of_People from emp); 
+0

SQL> select dname、loc from dept where ename in(select count(ename)AS Number_of_People from emp); 選択DNAME、1行目でDEPT場所(EMPからNUMBER_OF_PEOPLE AS SELECT COUNT(ENAME))でENAME * ERRORからLOC: ORA-00904: "ENAME":無効な識別子 – user770022

+0

さて、その後、 'ename'は何で、最初は何をしていたのですか? –

+0

enameは従業員の名前です。そこでのことについては、私はそれが正しかったかどうか100%確信していません、私は何が間違っているの質問をしていたのですか? – user770022

0

どのように人がで働く部署を知っています。この

select dept.dname, dept.loc,count(*) 
from emp 
join dept on emp.deptNo=dept.deptno 
group by dept.dname,dept.loc 
関連する問題