當我寫SQL此查詢加告訴我的錯誤(ORA-00998:必須指定一個列別名這個表達式)如何alias列在SQL加
create or replace view vw_salary as select dname ,
(select count(*) from employee where dno=department.dnumber) from department;
當我寫SQL此查詢加告訴我的錯誤(ORA-00998:必須指定一個列別名這個表達式)如何alias列在SQL加
create or replace view vw_salary as select dname ,
(select count(*) from employee where dno=department.dnumber) from department;
視圖中的列需要有一個名稱。所以,你需要as
子查詢後:
create or replace view vw_salary as
select dname,
(select count(*) from employee e where e.dno = d.dnumber
) as NumEmployees
from department d;
我強烈建議您使用表別名和合格的列名(即使用的表的別名)。這是,特別是對於相關子查詢很重要,因爲它很容易犯錯,而且很難調試。
我還注意到該視圖被稱爲vw_salary
,但沒有薪水信息。
這意味着你需要命名計數表達...嘗試以下操作,可以將「TheCount」更改爲您想要使用的任何名稱。
create or replace view vw_salary as select dname ,
(select count(*) AS TheCount from employee where dno=department.dnumber) from department;
更高效的前'從department'加上'AS empcount' – Arulkumar
謝謝你現在的工作。 – John