2013-05-07 67 views
-1
create or replace view DeptInfo as 
select dnumber, dname, AVG(salary), max(salary), min(salary) 
from department, employee; 

我環顧四周,嘗試了Group By的組合試圖弄清楚這一點。對不起,我的公民,只是一個可憐的學生。Oracle SQL錯誤:ORA-00937:不是單組功能

dnumber和dname來自部門表,而薪水來自employee表。

回答

1

你的問題不是很清楚..哪些表是來自哪些字段?

,你將需要有子查詢,爲您3個字段,因爲它們都需要通過條款組

create or replace view DeptInfo as 
SELECT q1.dnumber, 
     q1.dname, 
     q1.AvgSal, 
     q2.MaxSal, 
     q3.MinSal 
FROM (SELECT dnumber, dname, AVG(salary) as AvgSal 
     FROM department, employee 
     GROUP BY dnumber, dname) q1, 
     (SELECT dnumber, dname, MAX(salary) as MaxSal 
     FROM department, employee 
     GROUP BY dnumber, dname) q2, 
     (SELECT dnumber, dname, MIN(salary) as MinSal 
     FROM department, employee 
     GROUP BY dnumber, dname) q3 
WHERE q1.dnumber = q2.dnumber AND 
     q2.dnumber = q3.dnumber AND 
     q1.dname = q2.dname AND 
     q2.dname = q3.name 

編輯:莫名其妙......忘記了分組依據,...