DELETE项目,我有以下模式:有超过2员工参与
employee(fname,lname,e_no,age,address,sex,slary,dept_number)
dpartment(dept_name,dept_number,dept_location)
project(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吗?) – jarlh
保持不变 –
这是什么意思,查询没有得到执行?它是否会导致错误信息?如果是,那究竟是什么?我的猜测是,您无法从正在删除行的表中进行选择。 – Shadow