0

使用简单的自联接列出员工的经理:

CREATE VIEW AS 
SELECT e1.EMP_ID EmployeeId, e1.FNAME EmployeeName,  
       e1.MANAGER ManagerName
FROM   EMPLOYEE e1 
       LEFT JOIN EMPLOYEE e2 
       ON e1.MANAGER = e2.EMP_ID

有问题的表是 EMPLOYEE,主键为 EMP_ID。

MySQL 和 Oracle 都返回代码错误;尽管我已经尝试了许多不同的变体,但主要的障碍是对有问题的表(e1 和 e2)使用别名,这两个 dbms 都不认为是合法标识符。

4

1 回答 1

3

您需要为视图命名:

CREATE VIEW v_emp AS 
SELECT e1.EMP_ID EmployeeId, e1.FNAME EmployeeName,  
       e1.MANAGER ManagerName
FROM   EMPLOYEE e1 
       LEFT JOIN EMPLOYEE e2 
       ON e1.MANAGER = e2.EMP_ID
于 2013-04-02T13:20:34.287 回答