【发布时间】:2021-12-01 19:50:26
【问题描述】:
我现在正在学习 oracle SQL,但我遇到了一个问题,我必须使用 INSERT INTO SELECT 语句来根据查询填充表。我需要在表格中填充与收入低于公司平均工资并至少从事两个项目的员工相关的信息。下面是我正在使用的表格和我的代码,请告诉我哪里出了问题,因为我的当前代码按功能分组错误。谢谢!
表格:
-
Division(DID、dname、managerID) -
Employee(empID、姓名、薪水、DID) -
Workon(PID、EmpID、小时) -
Promotion_list(empID、姓名、薪水、部门名称)
代码:
insert into Promotion_list
select e.empid, e.name, e.salary, d.dname
from employee e
inner join division d on e.did = d.did
inner join workon w on w.empid = e.empid
where e.salary < (select avg(salary) from employee)
and count(w.pid) >= 2
【问题讨论】:
-
count(*) 是一个聚合函数。您需要某个地方的群组您阅读过 GROUP BY 吗?