【发布时间】:2016-09-20 07:54:09
【问题描述】:
我有以下架构:
员工(fname,lname,e_no,age,address,sex,slary,dept_number)
部门(部门名称、部门编号、部门位置)
项目(pname,pnumber,plocation,dept_number)
works_on(e_no,pnumber,hours)
我想删除涉及超过 2 名员工的项目。为此,我进行了以下查询。
但它没有被执行。如何解决此查询?
DELETE FROM project
WHERE project.pnumber IN (SELECT project.pnumber
FROM project
JOIN works_on ON project.pnumber = works_on.pnumber
GROUP BY project.pname
HAVING COUNT(works_on.e_no) > 2))
【问题讨论】:
-
改用
GROUP BY project.pnumber。 (不能直接搜索works_on吗?) -
查询没有被执行是什么意思?它会重新发出错误消息吗?如果是,那么究竟是什么?我的猜测是您无法从要删除行的表中进行选择。