2011-10-02 106 views
0

我想要做的是创建一个视图,选择empno,ename,deptno将empno列重命名为Employee_ID,将其命名为Employee,Deptno to Department_ID 为什么我有这些问题?SQL语句错误

SQL> create view DEPT20 AS 
2 select empno,ename,deptno (employee_id, employee, Department_ID) from emp 
3 where deptno = 20 
4 with check option constraint emp_dept_20; 
select empno,ename,deptno (employee_id, employee, Department_ID) from emp 
        * 
ERROR at line 2: 
ORA-00904: "DEPTNO": invalid identifier 

我知道它在那里,所以为什么我会得到错误?

SQL> select empno, ename, deptno from emp; 

EMPNO ENAME   DEPTNO 
---------- ---------- ---------- 
    7839 KING    10 
    7698 BLAKE    30 
    7782 CLARK    10 
    7566 JONES    20 
    7654 MARTIN    30 
    7499 ALLEN    30 
    7844 TURNER    30 
    7900 JAMES    30 
    7521 WARD    30 
    7902 FORD    20 
    7369 SMITH    20 

EMPNO ENAME   DEPTNO 
---------- ---------- ---------- 
    7788 SCOTT    20 
    7876 ADAMS    20 
    7934 MILLER    10 
    8888 Stuttle   40 

15 rows selected. 

SQL> 
+2

对不起但这是一个简单的语法问题。 Oracle文档是全面和联机的。请学会使用它。 http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_10002.htm#i2080424 – APC

回答

1

你为什么不尝试这样的 -

... select empno as employee_id, ename as employee, deptno as Department_ID 
from emp where Department_ID = 20 ... 
2

它看起来像你试图重命名列。我认为你需要做的是像下面

select empno as employee_id, ename as employee,deptno as department_id from emp 
2

也许有帮助,如果你试试这个:

SELECT 
    empno as employee_id, 
    ename as employee, 
    deptno as Department_ID 
FROM emp ...